ETDA / etax-xades

Xades signature sign and verification sample code for Thailand etax invoice
8 stars 20 forks source link

ขอรบกวนครับผม รันแล้วขึ้น Error The keystore couldn't be initialized ไม่แน่ใจว่า ต้องตั้งค่าอะไรเพิ่มหรือป่าวครับ #19

Open Nueng007-git opened 3 years ago

Nueng007-git commented 3 years ago

ขอรบกวนครับผม รันแล้วขึ้น Error The keystore couldn't be initialized ไม่แน่ใจว่า ต้องตั้งค่าอะไรเพิ่มหรือป่าวครับ

xades4j.verification.UnexpectedJCAException: The keystore couldn't be initialized at xades4j.providers.impl.KeyStoreKeyingDataProvider.ensureInitialized(KeyStoreKeyingDataProvider.java:179) at xades4j.providers.impl.KeyStoreKeyingDataProvider.getSigningCertificateChain(KeyStoreKeyingDataProvider.java:189) at xades4j.production.SignerBES.sign(SignerBES.java:151) at xades4j.production.SignerBES.sign(SignerBES.java:122) at XadesBesSigner.signWithoutIDEnveloped(XadesBesSigner.java:182) at XadesBesSignMain.main(XadesBesSignMain.java:49) Caused by: java.security.KeyStoreException: KeyStore instantiation failed at java.security.KeyStore$Builder$2.getKeyStore(KeyStore.java:1967) at xades4j.providers.impl.KeyStoreKeyingDataProvider.ensureInitialized(KeyStoreKeyingDataProvider.java:175) ... 5 more Caused by: java.security.KeyStoreException: PKCS11 not found at java.security.KeyStore.getInstance(KeyStore.java:940) at java.security.KeyStore$Builder$2$1.run(KeyStore.java:1925) at java.security.KeyStore$Builder$2$1.run(KeyStore.java:1918) at java.security.AccessController.doPrivileged(Native Method) at java.security.KeyStore$Builder$2.getKeyStore(KeyStore.java:1964) ... 6 more Caused by: java.security.NoSuchAlgorithmException: no such algorithm: PKCS11 for provider SunPKCS11-eToken at sun.security.jca.GetInstance.getService(GetInstance.java:101) at sun.security.jca.GetInstance.getInstance(GetInstance.java:218) at java.security.Security.getImpl(Security.java:724) at java.security.KeyStore.getInstance(KeyStore.java:937)


ผมตั้งค่า config ดังนี้ครับผม ขอรบกวนครับ

XAdES-BES SIGNING PARAMETER

SIGN_INPUT_PATH=src/main/resources/ETDA-invoice.xml SIGN_OUTPUT_PATH=src/main/resources/signed-ETDA-invoice..xml PK_TYPE=PKCS11

PKCS11 PARAMETER

PKCS11_LIB_PATH=C:/Windows/System32/eTPKCS11.dll
PKCS11_PROVIDER_NAME=eToken PKCS11_SLOT_ID=1 PKCS11_PASSWORD=xxxxxxxxxx (ตรงนี้ใส่รหัสผ่านของ Safenet)

PKCS12 PARAMETER

PKCS12_PATH=src/main/resources/pkcs12/key.p12 PKCS12_PASSWORD=password

XAdES-BES VERIFICATION PARAMETER

VERIFY_INPUT_PATH=src/main/resources/verify-ETDA-invoice.xml TRUST_STORE_TYPE=jks TRUST_STORE_PATH=src/main/resources/trustStore/trustStore.jks TRUST_STORE_PASSWORD=P@ssw0rd CERT_STORE_DIR=src/main/resources/certStore/

paranaaan commented 3 years ago

พี่แก้ได้ยังครับ ต้องติดตั้ง driver ของ eToken ก่อน

ตัว eTPKCS11.dll ถึงจะรู้จัก Cert ครับ

cskenji commented 3 years ago

พี่แก้ได้ยังครับ ต้องติดตั้ง driver ของ eToken ก่อน

ตัว eTPKCS11.dll ถึงจะรู้จัก Cert ครับ

@paranans ผมรบกวนของ contact ได้มั้ยครับ ติดปัญหาเรื่องการ cert etoken เหมือนกันครับ

paranaaan commented 3 years ago

พี่แก้ได้ยังครับ ต้องติดตั้ง driver ของ eToken ก่อน ตัว eTPKCS11.dll ถึงจะรู้จัก Cert ครับ

@paranans ผมรบกวนของ contact ได้มั้ยครับ ติดปัญหาเรื่องการ cert etoken เหมือนกันครับ

mail มาที่ paranan.sbi@gmail.com