相互証明書認証を実装しようとしています。同時にCAとサーバーになり、証明書を生成してユーザー用に署名する必要があります。そして私はこのチュートリアルに従っています。これはウェブ上の複雑な記事と比較して非常に単純なものです。手順は次のとおりです:
独自の認証局を作成するプロセスは非常に簡単です:
- 秘密鍵を作成する
- 自己署名
- さまざまなワークステーションにルートCAをインストールします//????
これを行うと、HTTPSを介して管理するすべてのデバイスに、次の手順で作成された独自の証明書が必要になります。
- デバイスのCSRを作成する
- ルートCAキーを使用してCSRに署名する///このステップ
ルートキーを作成します:
openssl genrsa -out rootCA.key 2048
この証明書に自己署名します。
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
証明書の作成(デバイスごとに1回実行):
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つのコマンドは、root.key
という2つのファイルを提供してくれました。 およびroot.pem
:
crt
はありません ブラウザに渡すファイル。
何が問題なのですか?
承認された回答:
証明書の名前を確認してください。一貫性がありません(root.pem
コマンドで、rootCA.pem
別の)
root.pem
をインストールできます 記事に示されているように、クライアントホスト上のファイル。これはCA証明書です。 PEM
は証明書の形式ですが、他にも存在します。 .crt
一般的な拡張機能です。証明書の名前はroot.pem
から変更できます root.crt
へ 必要に応じて。