첫 번째 CA를 구성하고 있습니다. 클라이언트를 위해 인증서를 발급하여 클라이언트를 통해 EDI를 통해 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
파일에 포함시킬 수 있다면보다 구체적인 조언을 제공 할 수 있는지 확인할 것입니다.