RSA 키를 PKCS#1에서 X.509 형식으로 변환
OpenSSL에서 RSA 키는 두 가지 형식으로 저장할 수 있습니다.
.NET은 ASN.1/DER 인코딩 키(PKCS#1)와 PEM 인코딩 키(X.509)를 모두 처리할 수 있습니다. PKCS#1 키를 X.509 키로 변환하려면:
1. PEM_write_bio_RSAPublicKey 대신 PEM_write_bio_PUBKEY를 사용하세요.
2. EVP_PKEY_set1_RSA를 사용하여 RSA 키를 EVP_PKEY로 변환:
예제 코드 :
<code class="c++">#include <openssl/pem.h> #include <openssl/rsa.h> #include <openssl/evp.h> int main() { RSA *rsa = RSA_new(); BN_set_word(BN_new(), RSA_F4); RSA_generate_key_ex(rsa, 2048, NULL, NULL); EVP_PKEY *pkey = EVP_PKEY_new(); EVP_PKEY_set1_RSA(pkey, rsa); BIO *pem = BIO_new_file("rsa-public.pem", "w"); PEM_write_bio_PUBKEY(pem, pkey); RSA_free(rsa); EVP_PKEY_free(pkey); return 0; }</code>
이 프로그램은 RSA 키 쌍을 생성하고 공개 키를 X.509 형식으로 변환한 후 "rsa-public.pem" 파일에 저장합니다.
위 내용은 OpenSSL에서 RSA 키를 PKCS#1에서 X.509 형식으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!