الملف التمهيدي الأصلي.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 التالي إلى مسار الفصل الدراسي الخاص بك:
sunpkcs11-wrapper-1.4.7.jar
لاستخدام pkcs11wrapper في JDK 17 أو أعلى، يرجى إضافة خيار Java التالي:
--add-exports=jdk.crypto.cryptoki/sun.security.pkcs11.wrapper=ALL-UNNAMED
قم بتكوين المكتبة ورقم التعريف الشخصي لوحدة HSM الخاصة بك في الملف example/data/pkcs11.properties
.
mvn test
لتفعيل اختبارات السرعة استخدم -PspeedTests
افتراضيًا، سيتم تشغيل اختبار السرعة باستخدام خيطين، ويمكنك تغيير القيمة عبر خاصية 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()
.
على عكس غلاف PKCS#11 الأصلي، فإننا نستدعي Module.initialize()
مرة واحدة فقط لكل ملف .so/.dll الأصلي. بمجرد استدعاء Module.finalize(Object)
، لا يمكن تهيئة الوحدة بعد الآن.