xin lỗi vì điều đó, nhưng tôi là người mới sử dụng ssl và tôi đã làm gì sai? tôi cố gắng thay đổi thông tin đăng nhập dovecot imap thành imaps nhưng đã xảy ra sự cố khi kiểm tra chứng chỉ ssl. Chứng chỉ ssl hoạt động cho máy chủ https apache và nó giống như những gì tôi cố gắng sử dụng cho dovecot. tôi đã cố gắng hiểu câu trả lời từ dave thomson https://stackoverflow.com/questions/47108886/openssl-s-client-error-verify-errornum-2unable-to-get-issuer-certert nhưng thật khó cho người mới. có lẽ bạn có một cách dễ dàng hơn. cảm ơn và br
openssl s_client -connect <my-domain>:993 -servername <my-domain> -CAfile /etc/apache2/ssl/cert_2021.ca-bundle
đầu ra:
ĐÃ KẾT NỐI(00000003)
depth=2 C = US, ST = New Jersey, L = Jersey City, O = Mạng USERTRUST, CN = USERTrust Cơ quan chứng nhận RSA
xác minh lỗi:num=2:không thể lấy chứng chỉ nhà phát hành
tổ chức phát hành= C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = Dịch vụ chứng chỉ AAA
xác minh trả lại: 1
độ sâu=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Máy chủ bảo mật xác thực tên miền Sectigo RSA CA
tổ chức phát hành= C = US, ST = New Jersey, L = Jersey City, O = Mạng USERTRUST, CN = USERTrust Cơ quan chứng nhận RSA
xác minh trả lại: 1
độ sâu = 0 CN = <tên miền của tôi>
nhà phát hành= C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo Máy chủ bảo mật xác thực tên miền RSA CA
xác minh trả lại: 1
---
Chuỗi chứng chỉ
0 s:CN = <miền của tôi>
i:C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Máy chủ bảo mật xác thực tên miền Sectigo RSA CA
---
Chứng chỉ máy chủ
-----BẮT ĐẦU GIẤY CHỨNG NHẬN----
...gJaprVU
-----GIẤY CHỨNG NHẬN KẾT THÚC-----
chủ đề=CN = <tên miền của tôi>
nhà phát hành=C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Máy chủ bảo mật xác thực tên miền Sectigo RSA CA
---
Không có tên CA chứng chỉ ứng dụng khách nào được gửi
Thông báo ký ngang hàng: SHA256
Loại chữ ký ngang hàng: RSA-PSS
Khóa tạm thời máy chủ: X25519, 253 bit
---
Bắt tay SSL đã đọc 2192 byte và ghi 397 byte
Lỗi xác minh: không thể lấy chứng chỉ tổ chức phát hành
---
Mới, TLSv1.3, Mật mã là TLS_AES_256_GCM_SHA384
Khóa công khai của máy chủ là 2048 bit
Đàm phán lại an toàn KHÔNG được hỗ trợ
Nén: KHÔNG CÓ
Mở rộng: KHÔNG CÓ
Không có ALPN nào được thương lượng
Dữ liệu ban đầu không được gửi
Xác minh mã trả lại: 2 (không thể lấy chứng chỉ nhà phát hành)
---
---
Vé phiên mới sau bắt tay đã đến:
Phiên SSL:
Giao thức: TLSv1.3
Mật mã: TLS_AES_256_GCM_SHA384
ID phiên: 3B8DCD9A603FF577C1E77F40C5D3BCE2B9BAE026EF430566359B0D82353CE1E5
Phiên-ID-ctx:
Tiếp tục PSK: 69E09...34D1
Danh tính PSK: Không có
Gợi ý nhận dạng PSK: Không có
Tên người dùng SRP: Không có
Gợi ý thời gian tồn tại của vé phiên TLS: 7200 (giây)
Vé phiên 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,......?.
Thời gian bắt đầu: 1651046361
Thời gian chờ: 7200 (giây)
Xác minh mã trả lại: 2 (không thể lấy chứng chỉ nhà phát hành)
Bí mật tổng thể mở rộng: không
Dữ liệu sớm tối đa: 0
---
đọc KHỐI R
---
Vé phiên mới sau bắt tay đã đến:
Phiên SSL:
Giao thức: TLSv1.3
Mật mã: TLS_AES_256_GCM_SHA384
ID phiên: F834...EE6E
Phiên-ID-ctx:
Tiếp tục PSK: A6FBE...23BF
Danh tính PSK: Không có
Gợi ý nhận dạng PSK: Không có
Tên người dùng SRP: Không có
Gợi ý thời gian tồn tại của vé phiên TLS: 7200 (giây)
Vé phiên 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]..*...
Thời gian bắt đầu: 1651046361
Thời gian chờ: 7200 (giây)
Xác minh mã trả lại: 2 (không thể lấy chứng chỉ nhà phát hành)
Bí mật tổng thể mở rộng: không
Dữ liệu sớm tối đa: 0
---
đọc KHỐI R
* OK [KHẢ NĂNG IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH=LOGIN] Dovecot (Raspbian) đã sẵn sàng.
* BYE Ngắt kết nối vì không hoạt động.
đóng cửa
cho những lần thử khác
openssl s_client -connect <my-domain>:993 -servername <my-domain> -CApath /etc/ssl/certs/ | grep 'mã trả về'
tôi nhận được cùng một đầu ra:
độ sâu = 0 CN = <tên miền của tôi>
xác minh lỗi:num=20:không thể lấy chứng chỉ nhà phát hành địa phương
...
..
.
Thời gian bắt đầu: 1651049986
Thời gian chờ: 7200 (giây)
Xác minh mã trả lại: 21 (không thể xác minh chứng chỉ đầu tiên)
Bí mật tổng thể mở rộng: không
Dữ liệu sớm tối đa: 0
của tôi
/etc/dovecot/conf.d/10-ssl.conf
có cfg tối thiểu
ssl = bắt buộc
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
CẬP NHẬT:
Sau khi đầu vào của bạn anx tôi ném tất cả những thứ vào một tập tin duy nhất. có nghĩa là thông tin crt, key và ca-bundle độc đáo và mượt mà với thao tác sao chép + dán. lưu dưới /etc/dovecot/riêng tư
mà không có bất kỳ liên kết tượng trưng nào. Dưới /etc/dovecot/conf.d/10-ssl.conf
tôi đặt
ssl_cert = </etc/dovecot/private/all_certs_in_one.txt
#ssl_client_ca_file = /etc/apache2/ssl/es_2021.ca-bundle
và tôi đã thử lệnh
openssl s_client -showcerts 6-connect <my-domain>:993 -servername <my-domain>
tôi nhận được đầu ra đó, cái gì chắc chắn hơn cái cuối cùng ...
ĐÃ KẾT NỐI(00000003)
viết:errno=104
---
không có chứng chỉ ngang hàng
---
Không có tên CA chứng chỉ ứng dụng khách nào được gửi
---
Bắt tay SSL đã đọc 0 byte và được ghi
322 byte
Xác minh: OK
---
Mới, (NONE), Mật mã là (NONE)
Đàm phán lại an toàn KHÔNG được hỗ trợ
Nén: KHÔNG CÓ
Mở rộng: KHÔNG CÓ
Không có ALPN nào được thương lượng
Dữ liệu ban đầu không được gửi
Xác minh mã trả về: 0 (ok)
---
CẬP NHẬT - với một nửa GIẢI PHÁP
nano mkcert.sh
#!/bin/sh
# Tạo chứng chỉ tự ký.
# Chỉnh sửa dovecot-openssl.cnf trước khi chạy.
ô 077
OPENSSL=${OPENSSL-openssl}
SSLDIR=${SSLDIR-/etc/ssl}
OPENSSLCONFIG=${OPENSSLCONFIG-dovecot-openssl.cnf}
CERTDIR=$SSLDIR/chứng chỉ
KEYDIR=$SSLDIR/riêng tư
CERTFILE=$CERTDIR/dovecot.pem
KEYFILE=$KEYDIR/dovecot.pem
nếu [ ! -d $CERTDIR ]; sau đó
echo "Thư mục $SSLDIR/certs không tồn tại"
thoát 1
fi
nếu [ ! -d $KEYDIR ]; sau đó
echo "$SSLDIR/thư mục riêng không tồn tại"
thoát 1
fi
nếu [ -f $CERTFILE ]; sau đó
echo "$CERTFILE đã tồn tại, sẽ không ghi đè lên"
thoát 1
fi
nếu [ -f $KEYFILE ]; sau đó
echo "$KEYFILE đã tồn tại, sẽ không ghi đè lên"
thoát 1
fi
$OPENSSL req -new -x509 -nodes -config $OPENSSLCONFIG -out $CERTFILE -keyout $KEYFILE -days 3650 || thoát 2
chmod 0600 $KEYFILE
tiếng vang
$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || thoát 2
nano dovecot-openssl.cnf
[ yêu cầu ]
default_bits = 2048
mã hóa_key = có
tên_phân_biệt = req_dn
x509_extensions = cert_type
nhắc nhở = không
[ req_dn ]
# quốc gia (mã 2 chữ cái)
#C=FI
# Tên Bang hoặc Tỉnh (tên đầy đủ)
#ST=
# Tên địa phương (ví dụ: thành phố)
#L=Helsinki
# Tổ chức (ví dụ: công ty)
O=<TÊN CÔNG TY CỦA TÔI>
# Tên đơn vị tổ chức (ví dụ: bộ phận)
OU=máy chủ IMAP
# Common Name (*.example.com cũng được)
CN=mail.<TÊN MIỀN CỦA BẠN>
# Email liên hệ [email protected]
emailAddress=support@<TÊN MIỀN CỦA BẠN>
[ cert_type ]
nsCertType = máy chủ
tạo liên kết tượng trưng:
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
nano /etc/dovecot/conf.d/10-ssl.conf
ssl = bắt buộc
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
khởi động lại
systemctl khởi động lại dovecot
kiểm tra
openssl s_client -showcerts -connect <mail.DOMAIN CỦA BẠN>:993 -tên máy chủ <mail.DOMAIN CỦA BẠN>
mã lỗi là
Xác minh mã trả về: 18 (chứng chỉ tự ký)
nhưng tốt hơn là không có gì =/ chứng chỉ apache của tôi không hoạt động nhưng vâng. các đường nối mà chúng ta không thể có mọi thứ hoạt động =(
btw. đừng quên đặt trong triển vọng làm ví dụ @cfg phương pháp
đến SSL/TLS
không tự động