.NET에서 OpenSSL RSA 키 사용
OpenSSL RSA_generate_key()를 사용하여 RSA 키 쌍을 생성할 때 공개 키와 개인 키가 생성됩니다. 기본적으로 pkcs#1 형식입니다. 그러나 .NET에서는 x509 형식일 것으로 예상합니다.
PEM 인코딩 형식
PEM 인코딩 키는 두 가지 형식을 사용하여 작성할 수 있습니다.
.NET 키 형식 지원
.NET은 ASN.1/DER 인코딩 키와 SubjectPublicKeyInfo 구조를 작성하는 PEM 인코딩 키를 모두 지원합니다. 공개 키뿐만 아니라.
X509 형식으로 변환
pkcs#1 공개 키를 x509 형식으로 변환하려면 C 코드에서 PEM_write_bio_RSAPublicKey 대신 PEM_write_bio_PUBKEY를 사용하세요. 이것은 SubjectPublicKeyInfo 구조를 작성합니다.
코드 예
<code class="cpp">... // Convert RSA key to PKEY EVP_KEY_ptr pkey(EVP_PKEY_new(), ::EVP_PKEY_free); rc = EVP_PKEY_set1_RSA(pkey.get(), rsa.get()); ASSERT(rc == 1); ... // Write SubjectPublicKeyInfo with OID in PEM // Load with PEM_read_bio_PUBKEY rc = PEM_write_bio_PUBKEY(pem2.get(), pkey.get()); ASSERT(rc == 1); ...</code>
추가 참고 사항
관련 링크
위 내용은 OpenSSL RSA 키를 .NET용 X.509 형식으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!