Score:0

Chrome แสดง ERR_CERT_COMMON_NAME_INVALID เมื่อ firefox พอใจ

ธง mc

เรียนรู้วิธีทำงานกับใบรับรอง อาจมีเซิร์ฟเวอร์ CA ภายในเครื่อง ฉันมีเซิร์ฟเวอร์กับ BMC ดังนั้นฉันจึงใช้มันเพื่อฝึกฝน สร้างคู่ CA แล้วจับคู่โฮสต์ จากนั้นลงนาม CSR โฮสต์ด้วยคู่ CA เพื่อรับโฮสต์ crt ฉันอัปโหลด CA crt ไปยังที่เก็บคีย์ที่เชื่อถือได้ของ Chrome และจับคู่โฮสต์กับ BMC เมื่อฉันไปที่เซิร์ฟเวอร์ ฉันเห็นว่า BMC ส่งคืน crt ที่ถูกต้อง แต่ Chrome แสดงว่าการเชื่อมต่อไม่ปลอดภัย เหตุผลคือ ERR_CERT_COMMON_NAME_INVALID อย่างไรก็ตาม เมื่อฉันคลิกไปที่ "ใบรับรองไม่ถูกต้อง" ฉันเห็นทั้งคีย์และใบรับรองที่ลงนามแสดงเป็น "ใบรับรองนี้ใช้ได้" ชื่อ DNS ที่ใช้ใน url = ชื่อทั่วไป ในขณะเดียวกัน สำหรับ Firefox ก็ไม่มีปัญหา ใบรับรองของฉันถือว่าดี มีอะไรผิดปกติ?

ใช้ลำดับนี้: #CA ไพรเวท

openssl genrsa - ออก CAKEY.pem 2048

#CA CERTIFICATE (ใช้ในเบราว์เซอร์) ชื่อสามัญ: ca.mydomain.com

openssl req -x509 -sha256 -new -nodes -key CAKEY.pem -days 3650 -out CACERT.pem -addext "subjectAltName = DNS:ca.mydomain.com"

#HOST KEY (อัปโหลดไปยัง BMC) ฉันต้องปิดการป้องกันด้วยรหัสผ่านที่นี่ BMC ไม่ชอบรหัสผ่าน

openssl genrsa - ออก HOSTKEY.pem 2048

#โฮสต์CSR. ชื่อสามัญ: host1.mydomain.com

openssl req -new -key HOSTKEY.pem -out HOSTCSR.pem -addext "subjectAltName = DNS:host1.mydomain.com"

#SIGN (อัปโหลดไปยัง BMC)

opensl x509 -req -CA CACERT.pem -CAkey CAKEY.pem -ใน HOSTCSR.pem -ออก HOSTCRT.PEM -วัน 3650 -CAcreateserial
dave_thompson_085 avatar
jp flag
Dupe https://serverfault.com/questions/1080084/chrome-not-trusting-self-signed-cert และอื่นๆ ที่เชื่อมโยงที่นั่น
Score:1
ธง br

OpenSSL ของ x509 คำสั่งไม่คัดลอกส่วนขยายจากไฟล์ CSR ไปยังใบรับรองที่ลงนามในเวอร์ชัน 1.1.1 และก่อนหน้า

บน รุ่นล่าสุด นั่นคือ -copy_extensions <arg> ตัวเลือก โดยที่ ` สามารถเป็นได้ ไม่มี, สำเนา หรือ คัดลอก.

คุณได้รับข้อความใน Chrome เนื่องจากใบรับรองของคุณไม่ได้คัดลอกส่วนขยาย Subject Alternative Name (SAN) ดังนั้นจึงบ่น ฉันเชื่อว่า Firefox ยังคงใช้ CommonName ของ Subject หากไม่มีส่วนขยาย Subject Alternative Name อยู่ ซึ่งเป็นเหตุผลว่าทำไมจึงไม่บ่น

คุณสามารถแก้ไขปัญหานี้ได้โดยชี้ไปที่ x509 คำสั่งไปยังไฟล์ config อื่นด้วยไฟล์ -extfile <ไฟล์> และ - ส่วนขยาย <ส่วน> ตัวเลือก. ไฟล์ <file> เพียงแค่ต้องมีส่วนที่มีชื่อพร้อมส่วนขยายที่คุณต้องการเพิ่มในใบรับรอง:

[ my_ext ]
subjectKeyIdentifier = แฮช
AuthorityKeyIdentifier = คีย์ไอดี: เสมอ
keyUsage = สำคัญ, digitalSignature, keyEncipherment
ExtendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = host1.mydomain.com
dave_thompson_085 avatar
jp flag
`-extfile` (ไม่มี `_`) ในทางตรงกันข้าม `req -new -x509 -addext` ใส่ SAN ในใบรับรอง CA แต่ไม่เคยดู SAN ในใบรับรอง CA มาก่อนเลย และมันก็ไร้ประโยชน์และสูญเปล่าโดยสิ้นเชิง
br flag
@dave_thompson_085 - ขอบคุณ & แก้ไขแล้ว :-)
mc flag
ขอบคุณ วิธีแก้ปัญหาของคุณใช้ได้สำหรับฉัน ฉันไม่เห็นปุ่มใด ๆ ที่จะทำให้คำตอบของคุณเป็นคำตอบ ฉันควรกด "ตอบคำถามของคุณ" หรือไม่ `bash#openssl x509 -req -CA CACERT.crt -CAkey CAKEY.pem -in HOSTCSR.pem -out HOSTCRT.crt -days 3650 -CAcreateserial -extfile ext.txt -extensions my_ext` `ทุบตี#` `bash#cat ext.txt` `[ my_ext ]` `subjectKeyIdentifier = แฮช` `authorityKeyIdentifier = keyid:always` `keyUsage = สำคัญ, digitalSignature, keyEncipherment` `extendedKeyUsage = serverAuth` `subjectAltName = @alt_names` `[alt_names]` `DNS.1 = host1.mydomain.com`
br flag
หากต้องการทำเครื่องหมายคำตอบว่ายอมรับแล้ว ให้คลิกเครื่องหมายถูกข้างคำตอบเพื่อสลับจากสีเทาเป็นกรอก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา