最初のCAを構成しています。その目的は、httpsを介してEDIサービスにアクセスするためにクライアントを使用するクライアントに証明書を発行することです。そのため、sslクライアント証明書を生成する必要があります。証明書に署名するプロセス全体が今では機能しており、証明書を使用してサービスにアクセスできますが、次の1つについて心配しています。
生成された証明書の目的は、一般的な方法です。
$ openssl x509 -purpose -noout -in client.crt.pem
Certificate purposes:
SSL client : Yes
SSL client CA : No
SSL server : Yes
SSL server CA : No
Netscape SSL server : Yes
Netscape SSL server CA : No
S/MIME signing : Yes
S/MIME signing CA : No
S/MIME encryption : Yes
S/MIME encryption CA : No
CRL signing : Yes
CRL signing CA : No
Any Purpose : Yes
Any Purpose CA : Yes
OCSP helper : Yes
OCSP helper CA : No
私の場合、SSLクライアントとS / MIME署名以外の目的はないはずだと思います。私は間違っていますか?これはそのままにしておくべきですか?
私が正しく、他の目的を無効にする必要がある場合、openssl.cnf構成に何を入れればよいですか?
これが私の現在の設定です(少しストリップされています):
[ CA_edi ]
# here was directory setup and some other stuff, cut it for clarity
x509_extensions = usr_cert # The extentions to add to the cert
name_opt = ca_default # Subject Name options
cert_opt = ca_default # Certificate field options
# Extension copying option: use with caution.
# copy_extensions = copy
# stripped rest of config about validity days and such
[ usr_cert ]
basicConstraints=CA:FALSE
nsCertType = client, email
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, keyAgreement
生成された証明書がサーバーの使用を許可しているのはなぜですか。
openssl x509 -text -nameopt multiline -certopt no_sigdump -certopt no_pubkey -noout -in one_of_your_client_certificates.pem
と拡張セクションのコピーを含めることができるopenssl.cnf
場合は、より具体的なアドバイスを提供できるかどうか確認します。