1. ホーム
  2. ウブントゥ

[解決済み] SSL秘密鍵を開くことができない[期待すること:TRUSTED CERTIFICATE]。

2022-03-04 17:44:19

質問

Let's EncryptでSSL証明書を生成したところ、ファイルが生成されました。

cert.pem | chain.pem | fullchain.pem | privkey.key | privkey.pem

次のコマンドで、すべてのファイルを開くことができます。 ただし privkey.key privkey.pem :

openssl x509 -in [filename] 

これがエラーメッセージです。

<ブロッククオート

証明書をロードできません 140505945014720:エラー:0909006C:PEM routines:get_name:no開始行:../crypto/pem/pem_lib.c:745:Expecting: 信頼できる証明書

いくつかの記事 に変換する必要があることを示唆しています。 .der の拡張子を使用していますが、同じエラー('unable to load')が残っています。

openssl x509 -in privkey.pem -outform der -out privkey.der

解決方法は?

秘密鍵は証明書ではないし x509 は証明書用です。 参照 https://www.openssl.org/docs/man1.1.1/man1/x509.html については x509 は、お好きなようにどうぞ。

秘密鍵を見るには pkey .
https://www.openssl.org/docs/man1.1.1/man1/openssl-pkey.html

拡張子.derに変換する必要があることを示唆する記事もあります。

おそらく、同じエラーメッセージの別の問題を解決するように。 これはいつでも表示されます openssl x509 は、無効な入力を読み込もうとします。

$ openssl x509  <<<"not a cert"
unable to load certificate
140736021758920:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:697:Expecting: TRUSTED CERTIFICATE

これからの読者は、雁字搦めにならないように気をつけてください。 このメッセージは基本的に「無効な証明書が提供されました」という意味ですが、これを検索すると、修正方法について多くの情報をオンラインで見ることができます。 あなたの証明書 というのは、すべてのケースで同じとは限りません。 ですから、このエラーが表示されたら、本当にゆっくりと何が起こっているのか見てみる必要があります。 いくつかの証明書フォーマットが、以下のように異なるフォーマットに変更されなければならないのは、まったくもって事実です。 x509 . しかし、すべてのエラーは同じになります。

ちなみに、unixのコマンドラインでは、ファイル名 "拡張子"は基本的に意味を持ちません。 openssl x509 は、ファイル名の最後の . も、他の多くのプログラムも同様です(顕著な例外は vim これは、シンタックスハイライトを有効にした場合に、それを推測するために使用します)。 しかし、PEM から DER やその他のファイルフォーマットに変換する場合は、ファイル名を変更するのではなく、その内容を変更します。 openssl を呼び出すことができます。 名前をどうするかではなく、中身が重要なのです。