Score:1

ปัญหา Dovecot ด้วยใบรับรอง SSL: ตรวจสอบรหัสส่งคืน: 2 (ไม่สามารถรับใบรับรองผู้ออก)

ธง my

ขออภัยสำหรับสิ่งนั้น แต่ฉันเป็นผู้มาใหม่ที่ ssl และฉันผิดอะไร ฉันพยายามเปลี่ยนการเข้าสู่ระบบ dovecot imap เป็น imaps แต่มีข้อผิดพลาดเกิดขึ้นกับการตรวจสอบใบรับรอง ssl ใบรับรอง ssl ใช้งานได้กับเซิร์ฟเวอร์ https apache และเหมือนกับที่ฉันพยายามใช้กับ dovecot ฉันพยายามเข้าใจคำตอบจากเดฟ ทอมสัน https://stackoverflow.com/questions/47108886/openssl-s-client-error-verify-errornum-2unable-to-get-issuer-certificate แต่มันยากสำหรับผู้มาใหม่ บางทีคุณอาจมีวิธีที่ง่ายกว่านี้ ขอบคุณและพี่น้อง

openssl s_client -เชื่อมต่อ <โดเมนของฉัน>:993 -ชื่อเซิร์ฟเวอร์ <โดเมนของฉัน> -CAfile /etc/apache2/ssl/cert_2021.ca-bundle

เอาต์พุต:

เชื่อมต่อแล้ว(00000003)
ความลึก=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
ตรวจสอบข้อผิดพลาด: num=2: ไม่สามารถรับใบรับรองผู้ออก
ผู้ออก= C = GB, ST = มหานครแมนเชสเตอร์, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
ตรวจสอบผลตอบแทน:1
ความลึก=1 C = GB, ST = มหานครแมนเชสเตอร์, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation CA เซิร์ฟเวอร์ที่ปลอดภัย
ผู้ออก= C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
ตรวจสอบผลตอบแทน:1
ความลึก=0 CN = <โดเมนของฉัน>
ผู้ออก= C = GB, ST = มหานครแมนเชสเตอร์, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation CA เซิร์ฟเวอร์ที่ปลอดภัย
ตรวจสอบผลตอบแทน:1
---
ห่วงโซ่ใบรับรอง
0 วินาที:CN = <โดเมนของฉัน>
i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation CA เซิร์ฟเวอร์ที่ปลอดภัย
---
ใบรับรองเซิร์ฟเวอร์
-----เริ่มต้นใบรับรอง-----
...gJaprVUs
-----จบใบรับรอง-----
เรื่อง = CN = <โดเมนของฉัน>

Issuer=C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation CA เซิร์ฟเวอร์ที่ปลอดภัย

---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
สรุปการลงนามเพียร์: SHA256
ประเภทลายเซ็นเพียร์: RSA-PSS
คีย์อุณหภูมิเซิร์ฟเวอร์: X25519, 253 บิต
---
SSL handshake อ่าน 2192 ไบต์และเขียน 397 ไบต์
ข้อผิดพลาดในการยืนยัน: ไม่สามารถรับใบรับรองผู้ออก
---
ใหม่ TLSv1.3 การเข้ารหัสคือ TLS_AES_256_GCM_SHA384
รหัสสาธารณะของเซิร์ฟเวอร์คือ 2048 บิต
ไม่สนับสนุนการเจรจาใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
ข้อมูลต้นไม่ได้ถูกส่ง
ตรวจสอบรหัสส่งคืน: 2 (ไม่สามารถรับใบรับรองผู้ออก)
---
---
ตั๋วเซสชันใหม่หลังงานจับมือมาถึงแล้ว:
เซสชัน SSL:
โปรโตคอล : TLSv1.3
รหัส : TLS_AES_256_GCM_SHA384
รหัสเซสชัน: 3B8DCD9A603FF577C1E77F40C5D3BCE2B9BAE026EF430566359B0D82353CE1E5
เซสชัน-ID-ctx:
การเริ่มต้นใหม่ PSK: 69E09...34D1
ตัวตน PSK: ไม่มี
คำใบ้ประจำตัว PSK: ไม่มี
ชื่อผู้ใช้ SRP: ไม่มี
คำแนะนำอายุการใช้งานตั๋วเซสชัน TLS: 7200 (วินาที)
ตั๋วเซสชั่น TLS:
0000 - 97 86 ca 30 d9 1e 13 95-51 b3 06 87 9d 9f fe ec ...0....Q.......
...
00d0 - 26 69 ba 7b 58 58 2c da-18 90 c9 8b 9f e2 3f be &i.{XX,.......?.

เวลาเริ่มต้น: 1651046361
หมดเวลา : 7200 (วินาที)
ตรวจสอบรหัสส่งคืน: 2 (ไม่สามารถรับใบรับรองผู้ออก)
ความลับหลักเพิ่มเติม: ไม่
ข้อมูลต้นทางสูงสุด: 0
---
อ่าน R BLOCK
---
ตั๋วเซสชันใหม่หลังงานจับมือมาถึงแล้ว:
เซสชัน SSL:
โปรโตคอล : TLSv1.3
รหัส : TLS_AES_256_GCM_SHA384
รหัสเซสชัน: F834...EE6E
เซสชัน-ID-ctx:
การเริ่มต้นใหม่ PSK: A6FBE...23BF
ตัวตน PSK: ไม่มี
คำใบ้ประจำตัว PSK: ไม่มี
ชื่อผู้ใช้ SRP: ไม่มี
คำแนะนำอายุการใช้งานตั๋วเซสชัน TLS: 7200 (วินาที)
ตั๋วเซสชั่น TLS:
0000 - 97 86 ca 30 d9 1e 13 95-51 b3 06 87 9d 9f fe ec ...0....Q.......
...
00d0 - a9 74 d9 44 c8 40 43 11-48 32 1e e2 2a 8f b9 bb [email protected]..*...

เวลาเริ่มต้น: 1651046361
หมดเวลา : 7200 (วินาที)
ตรวจสอบรหัสส่งคืน: 2 (ไม่สามารถรับใบรับรองผู้ออก)
ความลับหลักเพิ่มเติม: ไม่
ข้อมูลต้นทางสูงสุด: 0
---
อ่าน R BLOCK
* ตกลง [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID เปิดใช้งาน IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot (Raspbian) พร้อมแล้ว
* BYE ถูกตัดการเชื่อมต่อเนื่องจากไม่ได้ใช้งาน
ปิด

สำหรับความพยายามอื่น ๆ

openssl s_client -เชื่อมต่อ <โดเมนของฉัน>:993 -ชื่อเซิร์ฟเวอร์ <โดเมนของฉัน> -CApath /etc/ssl/certs/ | grep 'รหัสส่งคืน'

ฉันได้รับผลลัพธ์เดียวกัน:

ความลึก=0 CN = <โดเมนของฉัน>
ตรวจสอบข้อผิดพลาด: num=20: ไม่สามารถรับใบรับรองผู้ออกในท้องถิ่น
...
..
.
เวลาเริ่มต้น: 1651049986
หมดเวลา : 7200 (วินาที)
ตรวจสอบรหัสส่งคืน: 21 (ไม่สามารถตรวจสอบใบรับรองใบแรกได้)
ความลับหลักเพิ่มเติม: ไม่
ข้อมูลต้นทางสูงสุด: 0

ของฉัน

/etc/dovecot/conf.d/10-ssl.conf

มี cfg ขั้นต่ำ

ssl = จำเป็น
ssl_cert = </etc/apache2/ssl/cert_2021.crt
ssl_key = </etc/apache2/ssl/cert_2021.key
ssl_client_ca_file = /etc/apache2/ssl/cert_2021.ca-bundle
ssl_dh = </usr/share/dovecot/dh.pem

อัปเดต:

หลังจากป้อนข้อมูลของคุณ กังวล ฉันโยนข้อมูลทั้งหมดลงในไฟล์เดียว หมายถึงข้อมูล crt, คีย์และ ca-bundle อย่างสวยงามและราบรื่นด้วยการคัดลอก + วาง บันทึกไว้ด้านล่าง /etc/dovecot/private โดยไม่มีสัญลักษณ์ใดๆ ภายใต้ /etc/dovecot/conf.d/10-ssl.conf ฉันตั้งค่า

ssl_cert = </etc/dovecot/private/all_certs_in_one.txt
#ssl_client_ca_file = /etc/apache2/ssl/es_2021.ca-bundle

และฉันลองคำสั่ง

openssl s_client -showcerts 6-เชื่อมต่อ <โดเมนของฉัน>:993 -ชื่อเซิร์ฟเวอร์ <โดเมนของฉัน>

ฉันได้รับผลลัพธ์นั้น มีอะไรมากกว่าอันสุดท้ายแน่นอน...

เชื่อมต่อแล้ว(00000003)
เขียน:errno=104
---
ไม่มีใบรับรองเพื่อน
---
ไม่มีการส่งชื่อ CA ของใบรับรองไคลเอ็นต์
---
SSL handshake อ่าน 0 ไบต์และเขียน 
322 ไบต์
การยืนยัน: ตกลง
---
ใหม่ (ไม่มี) รหัสคือ (ไม่มี)
ไม่สนับสนุนการเจรจาใหม่อย่างปลอดภัย
การบีบอัด: ไม่มี
การขยายตัว: ไม่มี
ไม่มีการเจรจา ALPN
ข้อมูลต้นไม่ได้ถูกส่ง
ตรวจสอบรหัสส่งคืน: 0 (ตกลง)
---

อัปเดต - ด้วยโซลูชันครึ่งหนึ่ง

นาโน mkcert.sh

#!/bin/sh
# สร้างใบรับรองที่ลงนามด้วยตนเอง
# แก้ไข dovecot-openssl.cnf ก่อนที่จะเรียกใช้สิ่งนี้
อูมาสก์ 077
OPENSSL=${OPENSSL-openssl}
SSLDIR=${SSLDIR-/etc/ssl}
OPENSSLCONFIG=${OPENSSLCONFIG-dovecot-openssl.cnf}

CERTDIR=$SSLDIR/ใบรับรอง
KEYDIR=$SSLDIR/ส่วนตัว

CERTFILE=$CERTDIR/dovecot.pem
KEYFILE=$KEYDIR/dovecot.pem

ถ้า [ ! -d $CERTDIR ]; แล้ว
  echo "ไม่มีไดเรกทอรี $SSLDIR/certs"
  ทางออก 1
ไฟ

ถ้า [ ! -d $KEYDIR ]; แล้ว
  echo "ไม่มี $SSLDIR/ไดเรกทอรีส่วนตัว"
  ทางออก 1
ไฟ

ถ้า [ -f $ใบรับรอง ]; แล้ว
  echo "$CERTFILE มีอยู่แล้ว ไม่สามารถเขียนทับได้"
  ทางออก 1
ไฟ

ถ้า [ -f $KEYFILE ]; แล้ว
  echo "$KEYFILE มีอยู่แล้ว ไม่สามารถเขียนทับได้"
  ทางออก 1
ไฟ

$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE วัน 3650 || ทางออก 2
chmod 0600 $KEYFILE
เสียงสะท้อน
$OPENSSL x509 -หัวเรื่อง -ลายนิ้วมือ -ไม่มี -ใน $CERTFILE || ทางออก 2

nano dovecot-openssl.cnf

[ ต้องการ ]
default_bits = 2048
encrypt_key = ใช่
Distributed_name = req_dn
x509_extensions = cert_type
พรอมต์ = ไม่

[ req_dn ]
# ประเทศ (รหัส 2 ตัวอักษร)
#C=FI

# ชื่อรัฐหรือจังหวัด (ชื่อเต็ม)
#ST=

# ชื่อท้องที่ (เช่น เมือง)
#L=เฮลซิงกิ

# องค์กร (เช่น บริษัท )
O=<ชื่อบริษัทของฉัน>

# ชื่อหน่วยขององค์กร (เช่น ส่วน)
OU=เซิร์ฟเวอร์ IMAP

# ชื่อสามัญ (*.example.com ก็ได้)
CN=mail.<ชื่อโดเมนของคุณ>

# อีเมลติดต่อ [email protected] 
emailAddress=support@<ชื่อโดเมนของคุณ>

[ ใบรับรองประเภท ]
nsCertType = เซิร์ฟเวอร์

สร้าง symlink:

ln -s /etc/ssl/certs/dovecot.pem /etc/dovecot/private/dovecot_pem_sym.pem
ln -s /etc/ssl/private/dovecot.pem /etc/dovecot/private/dovecot_pem_sym.key

นาโน /etc/dovecot/conf.d/10-ssl.conf

ssl = จำเป็น
ssl_cert = </etc/dovecot/private/dovecot_pem_sym.pem
ssl_key = </etc/dovecot/private/dovecot_pem_sym.key
#ssl_client_ca_dir = /etc/ssl/certs
#ssl_client_ca_file =
#ssl_dh = </usr/share/dovecot/dh.pem 

เริ่มต้นใหม่

systemctl รีสตาร์ท dovecot

ทดสอบ

openssl s_client -showcerts -เชื่อมต่อ <YOUR mail.DOMAIN>:993 -servername <YOUR mail.DOMAIN>

รหัสข้อผิดพลาดคือ

ตรวจสอบรหัสส่งคืน: 18 (ใบรับรองที่ลงนามด้วยตนเอง)

แต่นั่นก็ดีกว่าไม่มีอะไรเลย =/ ใบรับรอง apache ของฉันใช้งานไม่ได้ แต่ใช่ ตะเข็บที่เราไม่สามารถทำงานได้ทุกอย่าง =(

เปล่า อย่าลืมตั้งค่าใน Outlook เป็นตัวอย่าง @cfg กระบวนการ ถึง SSL/TLS ไม่อัตโนมัติ

in flag
ส่วนใหญ่ไฟล์ใบรับรองของคุณอาจไม่มีใบรับรองอื่นๆ จากเชน
Score:0
ธง fr
anx

คุณน่าจะใช้ ssl_client_ca_file ตั้งค่าผิดพลาด ใช้เมื่อ Dovecot ทำการเชื่อมต่อขาออกใน ลูกค้า บทบาท (ในกรณีที่เป็นพร็อกซีไปยังปลายทาง MTA/IMAP โดยที่ CA เริ่มต้นของระบบไม่เหมาะสม) สิ่งนี้แยกจากการกำหนดค่าของ Dovecot ที่จัดการการเชื่อมต่อขาเข้าโดยสิ้นเชิงใน เซิร์ฟเวอร์ เช่นการให้บริการ IMAP ผ่าน TLS

ปล่อยให้ไม่ได้ตั้งค่าและแทน เชื่อมต่อเซิร์ฟเวอร์ของคุณและใบรับรองระดับกลาง รวมเป็นไฟล์เดียวเพื่อใช้ใน ssl_cert=</path/to/file.

โปรดทราบ ในกรณีของคุณ ฉันเชื่อว่านั่นจะเป็นใบรับรองเซิร์ฟเวอร์ของคุณ เซติโก, แล้ว ความน่าเชื่อถือของผู้ใช้. ขณะที่คุณกำลังชี้ไปที่ไฟล์ที่ใช้ apache2 ระวังอย่าแก้ไขไฟล์ที่คุณกำหนดค่าที่อื่น (โดยคาดหวังว่าไฟล์เหล่านั้นจะมีใบรับรองเซิร์ฟเวอร์หรือเชนเท่านั้น)

trash2 avatar
my flag
สวัสดี. ก่อนอื่น ขอบคุณสำหรับข้อมูลที่คุณป้อน ฉันลองบางอย่างแล้ว (ดู UPDATE ด้านบน) แต่ตอนนี้ฉันพบข้อผิดพลาดประเภทอื่นฉันไม่เห็นสิ่งที่ฉันทำผิด สำหรับการป้อนข้อมูลใด ๆ ฉันจะขอบคุณมาก การเข้าสู่ระบบ outlook บนพอร์ต 993 นั้นสอดคล้องกับใบรับรองการทำงานนั้นใช่ไหม เปล่า ถ้าฉันใช้ ubuntu standarf snakeoil certs ฉันจะได้รับผลลัพธ์ที่ดี แต่การเข้าสู่ระบบ outlook ยังคงใช้งานไม่ได้ ไม่มีข้อผิดพลาดในการตรวจสอบสิทธิ์สำหรับการลองเข้าสู่ระบบ

โพสต์คำตอบ

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