[英]Import p7b file to Java Keystore using keytool
我正在嘗試將第三方的 p7b 文件導入到 Java 信任存儲中。 看起來 p7b 包含一個根證書和一個公鑰。
我正在嘗試使用類似於
keytool -importcert -file certs.p7b -keystore dave.jks -storetype JCEKS -trustcacerts
當文件由第三方提供給我時,他們沒有告訴我公鑰的別名是什么。
我認為在不知道這些信息的情況下無法導入它是否正確?
這是一個很老的問題。 但我剛剛遇到了同樣的問題,所以我會發布我所做的。
我們有一個來自公共機構的 .p7b 文件,該文件持有必須在我們的系統中接受的證書鏈。 因為它有一個證書鏈,所以不能直接導入到 p12 文件中,所以,首先,我用openssl
檢查了它:
openssl pkcs7 -print_certs -inform der -in file.p7b
此命令提供別名和 base64 編碼證書的列表:
subject=LONG CERTIFICATE1 COMMONNAME WITH ESCAPE SEQUENCES
issuer=LONG CERTIFICATE1'S ISSUER COMMONNAME
-----BEGIN CERTIFICATE-----
long base64 string
-----END CERTIFICATE-----
subject=LONG CERTIFICATE2 COMMONNAME WITH ESCAPE SEQUENCES
issuer=LONG CERTIFICATE2'S ISSUER COMMONNAME
-----BEGIN CERTIFICATE-----
long base64 string
-----END CERTIFICATE-----
該列表很長,因為 .p7b 文件包含多個證書。
下一步是復制-----BEGIN CERTIFICATE-----
和-----END CERTIFICATE-----
之間的所有片段,並將它們存儲在擴展名為.pem
不同文件中:
certificate1.pem
certificate2.pem
...
然后將它們導入密鑰庫,使用長通用名作為別名:
keytool -alias "LONG CERTIFICATE1 COMMONNAME WITH ESCAPE SEQUENCES" -importcert -trustcacerts -file certificate1.pem -keystore trustcerts.p12 -storetype PKCS12
keytool -alias "LONG CERTIFICATE2 COMMONNAME WITH ESCAPE SEQUENCES" -importcert -trustcacerts -file certificate2.pem -keystore trustcerts.p12 -storetype PKCS12
在此之后,我們有了一個包含所有 .p7b 證書的 pkcs12 密鑰庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.