我正在配置我的第一个CA。目的是为我们的客户颁发证书,这些客户将使用它们通过https访问我们的EDI服务。因此,我需要生成ssl客户端证书。到目前为止,签署证书的整个过程都可以正常工作,并且可以成功使用证书来访问我们的服务,但是我担心一件事:
生成证书的目的是通用的方法:
$ 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
文件的扩展部分,那么我是否可以提供更具体的建议。