ใช้ JDK 1.6 หรือใหม่กว่า
จัสตินชี้ให้เห็นในความคิดเห็นด้านล่างนี้ว่า keytool เพียงอย่างเดียวสามารถทำได้โดยใช้คำสั่งต่อไปนี้ (แม้ว่าจะมีเฉพาะใน JDK 1.6 และใหม่กว่า):
keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12
-destkeystore clientcert.jks -deststoretype JKS
ใช้ JDK 1.5 หรือต่ำกว่า
OpenSSL สามารถทำได้ทั้งหมด คำตอบของ JGuruนี้เป็นวิธีที่ดีที่สุดที่ฉันเคยพบมา
อันดับแรกตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งOpenSSLแล้ว ระบบปฏิบัติการหลายระบบได้ติดตั้งไว้แล้วตามที่พบใน Mac OS X
คำสั่งสองคำสั่งต่อไปนี้แปลงไฟล์ pfx เป็นรูปแบบที่สามารถเปิดเป็นที่เก็บคีย์ Java PKCS12:
openssl pkcs12 -in mypfxfile.pfx -out mypemfile.pem
openssl pkcs12 -export -in mypemfile.pem -out mykeystore.p12 -name "MyCert"
โปรดทราบว่าชื่อที่ระบุในคำสั่งที่สองเป็นนามแฝงของคีย์ของคุณในที่เก็บคีย์ใหม่
คุณสามารถตรวจสอบเนื้อหาของที่เก็บคีย์โดยใช้ยูทิลิตี้ Java keytool ด้วยคำสั่งต่อไปนี้:
keytool -v -list -keystore mykeystore.p12 -storetype pkcs12
สุดท้ายหากคุณต้องการคุณสามารถแปลงสิ่งนี้เป็นที่เก็บคีย์ของ JKS ได้โดยการนำเข้าที่เก็บคีย์ที่สร้างไว้ด้านบนไปยังที่เก็บคีย์ใหม่:
keytool -importkeystore -srckeystore mykeystore.p12 -destkeystore clientcert.jks -srcstoretype pkcs12 -deststoretype JKS