OpenSSL.netを1)CA署名に使用する鍵ペアを作成し、2)このCAを使用して証明書を作成して署名するようにしています。私は、RSA/SHA1 X509CertificateAuthorityを作成し、X509Requestとキーを作成しましたが、実際にリクエストに署名する際に問題が発生しています。OpenSSL.netを使用して証明書に署名する際の問題
'create the request and request key
Dim rsa As OpenSSL.Crypto.RSA = New OpenSSL.Crypto.RSA()
rsa.GenerateKeys(1024, 65569, Nothing, Nothing)
Dim req_key As OpenSSL.Crypto.CryptoKey = New OpenSSL.Crypto.CryptoKey(rsa)
Dim req_key_b As OpenSSL.Core.BIO = OpenSSL.Core.BIO.MemoryBuffer
req_key_b.Write(req_key.GetRSA.PrivateKeyAsPEM)
WriteBio(req_key_b, IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "req.key"))
'make the request
Dim req As OpenSSL.X509.X509Request = New OpenSSL.X509.X509Request(3, "CN=newcert", req_key)
Dim req_cert As OpenSSL.X509.X509Certificate = ca.ProcessRequest(req, Now, Now.AddDays(365))
'** ^^^ Exception on this line ^^^ ***
Dim req_cert_b As OpenSSL.Core.BIO = OpenSSL.Core.BIO.MemoryBuffer
req_cert.Write(req_cert_b)
WriteBio(req_cert_b, IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "req.crt"))
私はメッセージ
error:0606B06E:digital envelope routines:EVP_SignFinal:wrong public key type error:0D0C3006:asn1 encoding routines:ASN1_item_sign:EVP lib
任意のアイデアで、上記の行にOpenSslExceptionを取得しています
?
私はopenSSLをあきらめて、代わりにBouncyCastleを使用しました。はるかに良い文書 – insertjokehere