วิธีการส่งผ่านอาร์กิวเมนต์เช่น "ชื่อประเทศ" ไปยัง OpenSSL เมื่อสร้างใบรับรองที่ลงชื่อด้วยตนเองได้อย่างไร


14

ฉันสามารถสร้างใบรับรองที่ลงนามเองได้โดยใช้คำสั่งนี้

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout server.key -out server.crt

แต่เป็นไปได้ไหมที่จะส่งผ่านข้อโต้แย้งเช่น“ ชื่อประเทศ”“ ชื่อรัฐหรือจังหวัด” เป็นต้นไปที่ OpenSSL เพื่อทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติ


คุณยังต้องส่งชื่อโฮสต์ผ่านไฟล์ CONF มิฉะนั้นเบราว์เซอร์จะปฏิเสธใบรับรองแม้ว่าจะอยู่ในที่เก็บที่เชื่อถือได้ก็ตาม นั่นเป็นเพราะข้อกำหนดพื้นฐานของ CA / เบราว์เซอร์ต้องการชื่อโฮสต์ในชื่อสำรองของหัวเรื่องและวิธีเดียวที่จะเพิ่มได้คือผ่านไฟล์ CONF ดูที่วิธีสร้างใบรับรองที่ลงนามด้วยตนเองด้วย openssl ด้วย บน Stack Overflow
jww

คำตอบ:


17

เว็บไซต์นี้อธิบายวิธีการนี้ได้เป็นอย่างดี:

ความมหัศจรรย์ของการสร้าง CSR โดยไม่ได้รับแจ้งสำหรับค่าที่ไปในฟิลด์หัวเรื่องของใบรับรองนั้นอยู่ใน-subjตัวเลือก

-subj arg
  Replaces subject field of input request with specified data and outputs modified request.
    The arg must be formatted as /type0=value0/type1=value1/type2=...,
    characters may be escaped by \ (backslash), no spaces are skipped.

ตัวอย่างเช่น:

openssl ... -subj "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com"

ดูรายละเอียดเพิ่มเติมในหน้าที่ฉันลิงค์ด้านบน


กำหนดลิงค์ไปยังหน้าไม่อยู่ ข้อมูลที่คล้ายกันสามารถพบได้จากshellhacks.com/…
Jari Turkia

และหากต้องการรวมอีเมลผู้ติดต่อให้ผนวกสิ่งนี้กับหัวเรื่อง:/emailAddress=me@mydomain.com
colminator
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.