ฉันกำลังกำหนดค่า CA แรกของฉัน โดยมีวัตถุประสงค์เพื่อออกใบรับรองให้กับลูกค้าของเราซึ่งจะใช้เพื่อเข้าถึงบริการ EDI ของเราผ่าน https ดังนั้นฉันต้องสร้างใบรับรองไคลเอ็นต์ 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 ใน config ของฉันอย่างไร
นี่คือการตั้งค่าปัจจุบันของฉัน (ปล้นเล็กน้อย):
[ 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
ฉันทำอะไรผิดที่ certs ที่สร้างขึ้นอนุญาตให้ใช้เซิร์ฟเวอร์ได้?
openssl x509 -text -nameopt multiline -certopt no_sigdump -certopt no_pubkey -noout -in one_of_your_client_certificates.pem
และส่วนขยายจากopenssl.cnf
ไฟล์ของคุณฉันจะดูว่าฉันสามารถให้คำแนะนำที่เฉพาะเจาะจงมากขึ้นได้ไหม