Tôi muốn tạo chứng chỉ sang định dạng kho khóa PKCS12 bằng chương trình keytool.Cách tạo chứng chỉ vào kho khóa PKCS12 bằng công cụ khóa phím?
Kho lưu trữ có phần mở rộng .pfx
.
Làm cách nào để đạt được điều này?
Tôi muốn tạo chứng chỉ sang định dạng kho khóa PKCS12 bằng chương trình keytool.Cách tạo chứng chỉ vào kho khóa PKCS12 bằng công cụ khóa phím?
Kho lưu trữ có phần mở rộng .pfx
.
Làm cách nào để đạt được điều này?
Nếu keystore là loại pkcs12 (.pfx
), bạn phải xác định nó với -storetype PKCS12
:
keytool -genkey -alias {desired alias certificate} -keystore {path to keystore.pfx} -storepass {password} -validity 365 -keyalg RSA -keysize 2048 -storetype pkcs12
câu trả lời bổ sung cho chủ chốt của câu hỏi.
Với JDK 8 (1.8.0_121-b13) bạn không nhận được một ngoại lệ nếu bạn loại bỏ -storetype pkcs12
nhưng keytool
tạo ra một keystore JKS
thay vào đó, và phần mở rộng .pfx
được bỏ qua.
Nó cũng yêu cầu một số -keypass mykeypassword
mà keytool
không hỗ trợ cho PKCS12.
%JAVA_HOME%/bin/keytool -genkeypair -alias mykey -keyalg EC -dname "cn=CN, ou=OU, o=O, c=C" -validity 365 -keystore keystore.pfx -keypass mykeypassword -storepass mystorepassword -v
(translated)
Generating keypair (Type EC, 256 Bit) and self-signed certificate (SHA256withECDSA) with a validity of 365 days
for: CN=CN, OU=OU, O=O, C=C
[keystore.pfx saved]
Danh sách các nội dung:
%JAVA_HOME%/bin/keytool -list -keystore keystore.pfx -storepass mystorepassword
(translated)
Keystore-Type: JKS
Keystore-Provider: SUN
Keystore contains 1 entry.
mykey, 25.04.2017, PrivateKeyEntry,
Certificate-Fingerprint (SHA1): A1:6C:5F:8F:43:37:1A:B6:43:69:08:DE:6B:B9:4D:DB:05:C9:D5:84
Bạn thấy đó là một keystore Java.
Vấn đề tiếp theo là, ngay cả khi bạn chỉ định -storetype pkcs12
khi bạn -list
kho khóa, công cụ khóa sẽ vẫn hiển thị cửa hàng dưới dạng kho khóa JKS!
Hãy thử rằng:
%JAVA_HOME%/bin/keytool -genkeypair -alias mykey -keyalg EC -dname "cn=CN, ou=OU, o=O, c=C" -validity 365 -storetype pkcs12 -keystore keystore.pkx -keypass mykeypassword -storepass mystorepassword -v
(translated)
Warning: No support for different keystore and key password for PKCS12 keystores. The value of -keypass will be ignored.
Generating keypair (Type EC, 256 Bit) and self signed certificate (SHA256withECDSA) with a validity of 365 Days
für: CN=CN, OU=OU, O=O, C=C
[keystore.pkx saved]
Bây giờ danh sách các nội dung:
%JAVA_HOME%/bin/keytool -list -keystore keystore.pkx -storepass mystorepassword
(translated)
Keystore-Type: JKS // ??
Keystore-Provider: SUN
Keystore contains 1 entry
mykey, 25.04.2017, PrivateKeyEntry,
Certificate Fingerprint (SHA1): EA:C2:36:C6:55:69:CB:32:22:C7:14:83:67:47:D2:7E:06:8E:13:14
Chìa khóa của câu hỏi là nếu keystore có phần mở rộng pfx bạn phải thêm các tùy chọn pkcs12 -storetype Without tùy chọn này keytool ném một lỗi. –