opensslコマンドでクライアントのCSRに署名することについて、何か基本的で明白なものがありません。opensslを使ってクライアントのCSRに署名する方法は?
私は2つの組織を持っています.1つは認証局の組織(カリフォルニアに存在)ともう1つはWA州にあるクライアント組織です。
これらの手順に従ってopensslコマンドを使用してLinuxシステムで認証局を作成しました。 http://www.freebsdmadeeasy.com/tutorials/freebsd/create-a-ca-with-openssl.php
私は今、2つのファイルを持っています 1. CAの秘密鍵を含むcakey.pem。このプライベートはパスフレーズにも関連付けられています。 2. CAの自己署名証明書を含むcacert.pem
次に、クライアントからすべてのCSRに署名したいとします。ワシントン州のクライアントからclient-csr.pemというファイルが送られます。私はCSRの署名についてのこのmanページと最後の例を読んでいます。 http://www.openssl.org/docs/apps/ca.html
私が試しているコマンドとエラーメッセージは次のとおりです:これらのコマンドは、cakey.pem(CAの秘密鍵)とcacert.pem(CAの秘密鍵)を作成したシステムと同じシステムで実行します。自己署名証明書)が
$ openssl ca -in demoCA/csrs/client-csr.pem -out client-cert.pem
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
The stateOrProvinceName field needed to be the same in the
CA certificate (California) and the request (WA)
質問は
クライアントは、「カリフォルニア」ではありません。なぜ状態名は、CA証明書とクライアントCSRの両方で同じでなければなりませんですので、彼らが作成したときCSR、彼らは自分の州名(WA)を入れました。認証局として、私はクライアントが実際にWAであり、実際にCSRファイルが出ていることを確認しましたそれら。私はこのCSRに署名し、クライアントに証明書を送り返したいと思います。
設定ファイルを確認してください。これは、OpenSSLとX.509ではなく、設定によって強制されなければなりません。 – doptimusprime