web-dev-qa-db-ja.com

OpenSSLは、pfxへの変換後に公開鍵を暗号化します

証明書と秘密鍵を.pfxファイルにエクスポートしています。

openssl pkcs12 -export -out export.pfx -in public.crt -inkey private.key -nodes

ただし、提供されたパスワードで秘密鍵を暗号化するにもかかわらず、OpenSSLは公開鍵も暗号化するため、パスワードを提供せずにサードパーティのソフトウェアで公開鍵ヘッダー(C、O、CNフィールドなど)を読み取ることはできません。 Example of encrypted public key

公開鍵を暗号化せずにpfxにエクスポートするにはどうすればよいですか?次のような公開鍵ヘッダーを読み取れるようにしたい: Unencrypted public key

1
dev2019

移行前(!)、これはほぼ重複していました https://security.stackexchange.com/questions/195080/how-to-convert-my-cert-chain-to-pfx-without-a-password /

余談ですが、質問の本文には証明書が記載されていますが、これは正しいですが、タイトルには公開鍵が記載されています。これは異なり、せいぜい非常に誤解を招く可能性があります。

OpenSSLは、文書化されていないオプション値-certpbe NONEを使用して、暗号化されていない「証明書バッグ」を使用してPKCS12(別名PFX)を作成できます。

openssl pkcs12 -export -in cert.pem -inkey key.pem -certpbe NONE -out key.pfx

PS:-nodesは、抽出された秘密鍵(存在する場合)を暗号化しないためにother方向(インポート)でのみ使用されます。 -exportの場合は無視され、暗号化は-keypbe-certpbeによって別々に制御されます。

3