CAのルートキーを使用してCSRに署名することはできません。

CAのルートキーを使用してCSRに署名することはできません。

CAとサーバーの両方が必要な相互証明書認証を実装し、証明書を生成し、ユーザーに署名しようとしています。私はこれをフォローしています地図時間Webの複雑な記事と比較すると、この記事は次のステップを含む非常に簡単な記事です。

  • 独自の認証機関を作成するプロセスは非常に簡単です。

    1. 秘密鍵の生成
    2. 自己署名
    3. 各ワークステーションにルートCAをインストールします。 // ????
  • これが完了すると、HTTPS を介して管理する各デバイスは、次の手順に従って独自の証明書を生成します。

    1. デバイスのCSRの生成
    2. ルート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.keyroot.pemブラウザcrtに提供するファイルはありません。

何が問題なの?

答え1

証明書名を確認してください。一貫性がありません(root.pemあるコマンドでは、rootCA.pem別のコマンドでは)。

root.pemこの資料に記載されているように、クライアントホストにこのファイルをインストールできます。これはCA証明書です。PEM 証明書形式の1つであり、他の形式もあります。.crt一般的な拡張です。必要に応じて証明書の名前を変更できますroot.pem 。root.crt

関連情報