CAとサーバーの両方が必要な相互証明書認証を実装し、証明書を生成し、ユーザーに署名しようとしています。私はこれをフォローしています地図時間Webの複雑な記事と比較すると、この記事は次のステップを含む非常に簡単な記事です。
独自の認証機関を作成するプロセスは非常に簡単です。
- 秘密鍵の生成
- 自己署名
- 各ワークステーションにルートCAをインストールします。 // ????
これが完了すると、HTTPS を介して管理する各デバイスは、次の手順に従って独自の証明書を生成します。
- デバイスのCSRの生成
- ルートCAキーを使用してCSRに署名する///この手順
ルートキーを生成します。
openssl genrsa -out rootCA.key 2048
この証明書に自己署名してください。
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
証明書の作成(デバイスごとに一度実行):
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
最後のコマンドで次のエラーが発生しました。
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108
Error opening CA Certificate root.pem
3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r')
3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
unable to load certificate
root.pemが同じフォルダにあり、なぜ見ることができないのですか?
また、最初の2つのコマンドは私に2つのファイルを提供しましたがroot.key
:root.pem
ブラウザcrt
に提供するファイルはありません。
何が問題なの?
答え1
証明書名を確認してください。一貫性がありません(root.pem
あるコマンドでは、rootCA.pem
別のコマンドでは)。
root.pem
この資料に記載されているように、クライアントホストにこのファイルをインストールできます。これはCA証明書です。PEM
証明書形式の1つであり、他の形式もあります。.crt
一般的な拡張です。必要に応じて証明書の名前を変更できますroot.pem
。root.crt