Web サービスから受け取った X509 証明書があります。証明書の取得時に証明書要求 (PKCS10) は使用されませんでしたが、代わりにユーザー固有の転送キーが使用されました。私の C# アプリケーションでは、次のようにファイルから証明書を読み取ります:
X509Certificate cert = new 509Certificate2(X509Certificate2.CreateFromCertFile(certificatePath));
証明書の PrivateKey フィールドは null ですが、PublicKey はそうではありません (これは正常ですか?)
ここで、この証明書に独自のキー ペアを使用させたいと思います。これまでのところ、私はこれを試しました:
openssl rsa -out keypair.pem 2048
<- 新しい公開鍵/秘密鍵のペア
openssl pkcs12 -export -out a.pfx -inkey keypair.pem -in cert.pem
を作成します <- 新しい鍵ペアで証明書を作成します
最初のコマンドは正常に動作しているように見えますが、2 番目のコマンドは次のメッセージを出力します: No certificate matches private key
. これはこれを解決する正しい方法ですか?秘密鍵は、Web サービスで行われた他の要求に署名するために必要であるため、証明書の秘密鍵が必要です。証明書の鍵ペアを自分の秘密鍵に置き換えるにはどうすればよいですか?