DevStream Certification Program Introduction

DevStream宣布采用Credly平台,为贡献者提供新的数字化认证,解决原有证书分享难、验证不易等问题。Credly专注于技能认可,且与众多IT认证机构合作。新的认证将通过Credly颁发,方便展示在LinkedIn、GitHub等个人资料上。
摘要由CSDN通过智能技术生成

Hello, and welcome to another DevStream blog post!

In today’s post, DevStream is happy to announce the new certification program for our contributors!


0 Background

For veteran contributors dating back to the beginning of this year, I’m sure you still remember our original certification, which is a well-designed digital image that certifies your efforts in the open-source community.

As beautiful as it is, there are some drawbacks with a certification in the form of digital images. To name a few:

  1. The image is pretty big, making it hard to share on social media platforms.
  2. Since it’s an image, it’s not so easy to embed it in your profile page, for example, LinkedIn profile, GitHub profile, or even inside your CV.
  3. It’s not easy for others to verify the authenticity of the certification.
  4. Others don’t know much about what you did to get that achievement, what skills you already mastered.

1 Introducing the New Digital Certification Program

With those pain points in mind, we sought out a new form of credential/certification system that would address those very drawbacks, and it wasn’t long before we got ourselves an answer: Credly.

TL;DR: Credly helps issue digital badges.

OK, that was brutally brief, isn’t it? So, let’s read the long version:


2 The Credly Story

Credly was founded to help people connect their verified abilities to opportunities. And, we strive to bring equity and access to every member of the current and future workforce. After leading the transformation in how people learn and connect online, our team turned its sights on bringing innovation to the outputs of meaningful learning experiences: the credential itself.

In 2018, Credly acquired the Acclaim credential business from Pearson and became the most comprehensive global solution for recognizing skills, capabilities, and achievements. Pearson invested in Credly’s growth and in 2022, acquired Credly to provide powerful solutions in the global workforce learning and talent market.

Credly is leading the digital credential movement, making talent more visible and opportunity more accessible.

Credly works with leading organizations that share our focus on unleashing the potential of the workforce with digital credentials.


3 Why Did DevStream Go with Credly

No brainer: it seems 95% of the top IT certifications are issued through the Credly network.

Plus, I got to know Credly because AWS uses Credly for its certifications. Have a quick look at this beautiful wall of AWS certifications you can get:

aws-certifications
Checkout my profile on Credly:

my-credly-profile


4 Wait a Minute. So I Got My Certs. Where Can I Show Them Off?

GitHub profile:

credly-github

LinkedIn profile:

credly-linkedin

Tweet all you want, and DevStream will try our best to retreat your tweets!

Spoil alert: DevStream is redesigning our community page on our official website. I know, I know, it looks ugly; for now. It will be pretty, soon. You have my words. Contributors and their certifications will show up on the community page. Think of it as a “wall of fame” of DevStream. How cool is that!


5 Where Do We Go From Here

Earn

We will issue a digital badge (and we will try to automate the process) when you earn a DevStream certification. Digital badges are active as long as your certification is valid.

Claim

You’ll get an email from Credly’s platform with instructions for claiming your badge.

Share

Use Credly’s platform sharing features to post on your social media newsfeeds and add your digital badge to your professional profile, as mentioned above.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Certainly, here's an example program that generates an RSA key pair, creates an X.509 certificate with the public key, and writes the key pair and certificate to files: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #include "mbedtls/pk.h" #include "mbedtls/entropy.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/x509_crt.h" #include "mbedtls/x509_csr.h" #include "mbedtls/x509write_crt.h" #define KEY_SIZE 2048 #define CERT_DAYS 365 int main(int argc, char *argv[]) { int ret = 1; mbedtls_pk_context key; mbedtls_entropy_context entropy; mbedtls_ctr_drbg_context ctr_drbg; mbedtls_x509write_crt crt; mbedtls_x509_crt cacert; char key_file[] = "key.pem"; char cert_file[] = "cert.pem"; char cacert_file[] = "cacert.pem"; // Initialize contexts mbedtls_pk_init(&key); mbedtls_entropy_init(&entropy); mbedtls_ctr_drbg_init(&ctr_drbg); mbedtls_x509write_crt_init(&crt); mbedtls_x509_crt_init(&cacert); // Seed the random number generator ret = mbedtls_ctr_drbg_seed(&ctr_drbg, mbedtls_entropy_func, &entropy, NULL, 0); if (ret != 0) { printf("error: mbedtls_ctr_drbg_seed returned %d\n", ret); goto exit; } // Generate an RSA key pair ret = mbedtls_pk_setup(&key, mbedtls_pk_info_from_type(MBEDTLS_PK_RSA)); if (ret != 0) { printf("error: mbedtls_pk_setup returned %d\n", ret); goto exit; } ret = mbedtls_rsa_gen_key(mbedtls_pk_rsa(key), mbedtls_ctr_drbg_random, &ctr_drbg, KEY_SIZE, 65537); if (ret != 0) { printf("error: mbedtls_rsa_gen_key returned %d\n", ret); goto exit; } // Write the key pair to a file ret = mbedtls_pk_write_key_pem(&key, key_file, NULL, NULL, 0); if (ret != 0) { printf("error: mbedtls_pk_write_key_pem returned %d\n", ret); goto exit; } // Set up the X.509 certificate mbedtls_x509write_crt_set_version(&crt, MBEDTLS_X509_CRT_VERSION_3); mbedtls_x509write_crt_set_md_alg(&crt, MBEDTLS_MD_SHA256); mbedtls_x509write_crt_set_subject_name(&crt, "CN=example.com,O=Example Organization,C=US"); mbedtls_x509write_crt_set_issuer_name(&crt, "CN=example.com,O=Example Organization,C=US"); mbedtls_x509write_crt_set_validity(&crt, "20200101000000", "20301231235959"); mbedtls_x509write_crt_set_basic_constraints(&crt, 0, -1); mbedtls_x509write_crt_set_key_usage(&crt, MBEDTLS_X509_KU_DIGITAL_SIGNATURE | MBEDTLS_X509_KU_KEY_CERT_SIGN); mbedtls_x509write_crt_set_ns_cert_type(&crt, MBEDTLS_X509_NS_CERT_TYPE_SSL_CLIENT | MBEDTLS_X509_NS_CERT_TYPE_SSL_SERVER | MBEDTLS_X509_NS_CERT_TYPE_EMAIL); mbedtls_x509write_crt_set_subject_key(&crt, &key); mbedtls_x509write_crt_set_issuer_key(&crt, &key); // Write the X.509 certificate to a file ret = mbedtls_x509write_crt_pem(&crt, cert_file, NULL, NULL, 0); if (ret != 0) { printf("error: mbedtls_x509write_crt_pem returned %d\n", ret); goto exit; } // Load the trusted CA certificate ret = mbedtls_x509_crt_parse_file(&cacert, cacert_file); if (ret != 0) { printf("error: mbedtls_x509_crt_parse_file returned %d\n", ret); goto exit; } // Verify the X.509 certificate against the trusted CA certificate ret = mbedtls_x509_crt_verify(&crt, &cacert, NULL, NULL, NULL); if (ret != 0) { printf("error: mbedtls_x509_crt_verify returned %d\n", ret); goto exit; } printf("RSA key pair and X.509 certificate generated successfully!\n"); exit: mbedtls_x509_crt_free(&cacert); mbedtls_x509write_crt_free(&crt); mbedtls_ctr_drbg_free(&ctr_drbg); mbedtls_entropy_free(&entropy); mbedtls_pk_free(&key); return ret; } ``` This program uses the mbedtls `pk` module to generate an RSA key pair, the `ctr_drbg` module to generate random numbers for the key pair, and the `x509write_crt` module to create an X.509 certificate with the public key. It also loads a trusted CA certificate and verifies the generated certificate against it. The key pair and certificate are written to files `key.pem` and `cert.pem`, respectively.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值