Tôi có một bộ cân bằng tải yêu cầu chứng chỉ với một cấu hình cụ thể, tiếc là những người tạo chứng chỉ đầu tiên đã không ghi lại cấu hình này và tôi chỉ có một danh sách các lệnh chưa hoàn thành.
Tôi có hai tệp này: ví dụ_ca.crt và ví dụ.crt
Và sử dụng lệnh OpenSSL này:
openssl x509 -in file_name.crt -text -noout
Đây là những thuộc tính của nó (tôi sẽ lược bỏ những thông tin không liên quan):
ví dụ_ca.crt
Giấy chứng nhận:
Dữ liệu:
Phiên bản: 3 (0x2)
Số seri:
cb:0f:b8:78:38:9a:a9:da
Thuật toán chữ ký: sha256WithRSAEencryption
Tổ chức phát hành: CN = example.org
hiệu lực
Không Trước: Ngày 10 tháng 6 10:33:06 2020 GMT
Không Sau : Ngày 17 tháng 5 10:33:06 2120 GMT
Chủ đề: CN = example.org
Thông tin khóa công khai chủ đề:
Thuật toán khóa công khai: rsaEncryption
Khóa công khai RSA: (2048 bit)
Mô đun:
[…]
Số mũ: 65537 (0x10001)
Tiện ích mở rộng X509v3:
Mã định danh khóa chủ đề X509v3:
81:FE:D0:6D:DE:0A:CC:10:1D:B3:74:EA:4B:C8:F3:43:37:B4:D1:FD
Mã định danh khóa chính quyền X509v3:
keyid:81:FE:D0:6D:DE:0A:CC:10:1D:B3:74:EA:4B:C8:F3:43:37:B4:D1:FD
Các ràng buộc cơ bản của X509v3:
CA:TRUE
Thuật toán chữ ký: sha256WithRSAEencryption
[…]
ví dụ.crt
Giấy chứng nhận:
Dữ liệu:
Phiên bản: 3 (0x2)
Số seri:
80:1d:bb:9e:9f:2c:4e:ce
Thuật toán chữ ký: sha256WithRSAEencryption
Tổ chức phát hành: CN = example.org
hiệu lực
Không Trước: Ngày 10 tháng 6 10:33:44 2020 GMT
Không Sau : Ngày 17 tháng 5 10:33:44 2120 GMT
Chủ đề: CN = example.org
Thông tin khóa công khai chủ đề:
Thuật toán khóa công khai: rsaEncryption
Khóa công khai RSA: (2048 bit)
Mô đun:
[…]
Số mũ: 65537 (0x10001)
Tiện ích mở rộng X509v3:
Sử dụng khóa mở rộng X509v3:
Xác thực ứng dụng khách web TLS, xác thực máy chủ web TLS
Mã định danh khóa chính quyền X509v3:
keyid:81:FE:D0:6D:DE:0A:CC:10:1D:B3:74:EA:4B:C8:F3:43:37:B4:D1:FD
Mã định danh khóa chủ đề X509v3:
B1:2C:74:04:EE:03:84:C9:F7:92:35:CE:6E:20:EF:C6:FE:B8:23:A7
Thuật toán chữ ký: sha256WithRSAEencryption
[…]
Tôi quản lý để sao chép ví dụ_ca.crt với các lệnh và cấu hình này (ngày hết hạn không liên quan):
openssl genrsa -out example_ca.key 2048
openssl req -new -x509 -days 365 -key example_ca.key -out example_ca.crt -config root.cnf
root.cnf
# Cấu hình OpenSSL cho Root CA
[ yêu cầu ]
nhắc nhở = không
string_mask = mặc định
default_bits = 2048
tên_phân_biệt = req_tên_phân_biệt
x509_extensions = x509_ext
[ req_distinguished_name ]
commonName = example.org
[ x509_ext ]
ExtendedKeyUsage = clientAuth, serverAuth
chủ đềKeyIdentifier = hàm băm
authorityKeyIdentifier = keyid
basicConstraints=CA:true
Vấn đề của tôi xảy ra vào thời điểm này khi tôi không thể sao chép ví dụ.crt, tôi đã thử rất nhiều khả năng trong máy chủ.cnf và openssl.cnf tệp và tôi không tiến gần hơn đến kết quả mong muốn.
Đối với các bước cuối cùng tôi đã sử dụng các lệnh sau:
openssl genrsa -out example.key 2048
openssl req -new -out example.csr -key example.key -config server.cnf
echo ExtendedKeyUsage = clientAuth > openssl.cnf
openssl x509 -req -in example.csr -out example.crt -signkey example.key -CA example_ca.crt -CAkey example_ca.key -CAcreateserial -days 365 -extfile openssl.cnf
Tôi sẽ bỏ qua nội dung của máy chủ.cnf bởi vì đó là nơi tôi cần giúp đỡ. Nhưng về cơ bản tôi luôn nhớ "Phần mở rộng X509v3" phiên của ví dụ.crt
Vui lòng buộc sử dụng mật khẩu nếu cần hoặc sửa lỗi sao chép của tôi ví dụ_ca.crt Tôi chỉ đơn giản là giải thích các nguyên tắc cơ bản.
CẬP NHẬT:
máy chủ.cnf
# Cấu hình OpenSSL cho chứng chỉ thực thể cuối
[ yêu cầu ]
nhắc nhở = không
string_mask = mặc định
default_bits = 2048
tên_phân_biệt = req_tên_phân_biệt
x509_extensions = x509_ext
[ req_distinguished_name ]
commonName = example.org
[ x509_ext ]
keyUsage=critical,digitalSignature,keyAgreement
chủ đềAltName = @alt_names
Có thể có nhiều tên thay thế
[alt_names]
DNS.1 = ví dụ.org
IP.1 = 127.0.0.1
# DNS.2 = altName.example.com