次のようにして、独自の秘密鍵と証明書を生成できます。
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095
証明書/秘密キーの部分をデータベースにコピーして貼り付け、テスト ツールキットを実行すると、HMAC キー交換が成功します。
ただし、現在は GlobalSign SSL 証明書を購入しており、.pfx ファイルも持っています。
ツールキットが正常なキー交換を返したときに使用されたものと同様の RSA 秘密キー/証明書を抽出するにはどうすればよいですか?
私の試み:
次のコマンドを使用して、.pfx ファイルを .pem ファイルに変換しようとしました。
openssl pkcs12 -nodes -in filename.pfx -out filename.pem
結果の .pem ファイルには、3 つの証明書と、ヘッダーが '-----BEGIN PRIVATE KEY-----' であり、'-----BEGIN RSA PRIVATE KEY-----' ではない秘密キーが含まれます。
秘密鍵をコピーして新しいドキュメントに貼り付け、privatekey.key として保存してみました。次に、次のコマンドを使用して変換しました。
openssl rsa -in privatekey.key -out privatekey_new.key
これにより、自己生成された RSA キーのような '-----BEGIN RSA PRIVATE KEY-----' ヘッダーを持つファイルが生成されます。
ただし、キー交換を試みると、次のエラーが発生します。
DEBUG [AbstractTest] - Failed:
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)
答え1
キーの使い方が間違っている
これは、証明書があなたがしようとしていることに使用できないことを意味します。