Readme.txt ต้นฉบับ
โปรเจ็กต์นี้เลิกใช้งานแล้ว โปรดใช้ xipki/ipkcs11wrapper(แนะนำ) หรือ xipki/jpkcs11wrapper แทน
JRE / JDK 8 (บิลด์ 162+) หรือสูงกว่า
มาเวน
<dependency> <groupId>org.xipki.iaik</groupId> <artifactId>sunpkcs11-wrapper</artifactId> <version>1.4.10</version> </dependency>
หรือคัดลอกไฟล์ jar ต่อไปนี้ไปยัง classpath ของคุณ:
sunpkcs11-wrapper-1.4.7.jar
หากต้องการใช้ pkcs11wrapper ใน JDK 17 หรือสูงกว่า โปรดเพิ่มตัวเลือก java ต่อไปนี้:
--add-exports=jdk.crypto.cryptoki/sun.security.pkcs11.wrapper=ALL-UNNAMED
กำหนดค่าไลบรารีและ PIN ของโมดูล HSM ของคุณในไฟล์ example/data/pkcs11.properties
mvn test
หากต้องการเปิดใช้งานการทดสอบความเร็วให้ใช้ -PspeedTests
ตามค่าเริ่มต้น การทดสอบความเร็วจะทำงานด้วย 2 เธรด คุณสามารถเปลี่ยนค่าผ่านคุณสมบัติ Java speed.threads
เช่น -Dspeed.threads=5
เพื่อใช้ 5 เธรด
ตามค่าเริ่มต้น การทดสอบความเร็วจะใช้เวลา 3 วินาที คุณสามารถเปลี่ยนค่าผ่านคุณสมบัติ Java speed.duration
เช่น -Dspeed.duration=10s
เป็นเวลา 10 วินาที
ไม่จำเป็นต้องมีห้องสมุดภายนอก
ต้องการ OpenJDK หรือ Oracle Java Runtime 1.8 หรือสูงกว่า
รองรับ PKCS#11 เวอร์ชัน 2.40
รองรับ EdDSA Ed25519 (การสร้างลายเซ็นและคู่กุญแจ)
พอร์ตจาก mikma/pkcs11wrapper ไปยังโปรเจ็กต์นี้
สำหรับ *SecretKey
โปรดใช้ตัวสร้าง ValuedSecretKey(long keyType)
แทน เช่น ใช้ new ValuedSecretKey(PKCS11Constants.CKK_AES)
สำหรับ AES SecretKey
สำหรับ ECDSAPrivateKey
และ ECDSAPublicKey
โปรดใช้ ECPrivateKey
และ ECPublicKey
แทน
iaik.pkcs.pkcs11.objects.Object
ถูกเปลี่ยนชื่อเป็น iaik.pkcs.pkcs11.objects.PKCS11Object
ไม่รองรับ Token.closeAllSession()
เนื่องจากไม่รองรับใน JNI (ผู้ให้บริการ SunPKCS11 ของ JDK) กรุณาจัดการเซสชั่นของคุณด้วยตัวเอง คุณสามารถปิดเซสชันเดียวได้โดย Session.closeSession()
ไม่เหมือนกับ wrapper PKCS#11 ดั้งเดิม เราจะเรียก Module.initialize()
เพียงครั้งเดียวต่อ .so/.dll ดั้งเดิม เมื่อเรียกใช้ Module.finalize(Object)
แล้ว โมดูลจะไม่สามารถเริ่มต้นได้อีกต่อไป