Ошибка при установке теста nCipherKM - PullRequest
0 голосов
/ 08 ноября 2019

Произошла ошибка при запуске java com.ncipher.provider.InstallationTest для проверки правильности установки поставщика nCipherKM.

> java com.ncipher.provider.InstallationTest
talled providers:
nCipherKM
SUN
SunRsaSign
SunEC
SunJSSE
SunJCE
SunJGSS
SunSASL
XMLDSig
 SunPCSC
 SunMSCAPI

Exception in thread "main" java.lang.ExceptionInInitializerError
        at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:378)
        at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:323)
        at javax.crypto.JceSecurity.access$000(JceSecurity.java:50)
        at javax.crypto.JceSecurity$1.run(JceSecurity.java:85)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:82)
        at javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:65)
        at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2586)
        at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2610)
        at com.ncipher.provider.InstallationTest.unlimitedStrengthJurisdictionPolicyFilesInstalled(InstallationTest.java:130)
        at com.ncipher.provider.InstallationTest.main(InstallationTest.java:70)
Caused by: java.lang.SecurityException: Framework jar verification can not be initialized
        at javax.crypto.JarVerifier.<clinit>(JarVerifier.java:228)
        ... 11 more
Caused by: com.ncipher.provider.nCCommunicationException: Error NoUsableModules while opening channel for MessageDigest mech 44 (SHA1Hash)
        at com.ncipher.provider.nCHash.openChannel(nCHash.java:208)
        at com.ncipher.provider.nCHash.updateChannel(nCHash.java:215)
        at com.ncipher.provider.nCHash.flush(nCHash.java:175)
        at com.ncipher.provider.nCHash.engineDigest(nCHash.java:91)
        at java.security.MessageDigest$Delegate.engineDigest(Unknown Source)
        at java.security.MessageDigest.digest(Unknown Source)
        at javax.crypto.JarVerifier.getSystemEntropy(JarVerifier.java:857)
        at javax.crypto.JarVerifier.testSignatures(JarVerifier.java:744)
        at javax.crypto.JarVerifier.access$400(JarVerifier.java:37)
        at javax.crypto.JarVerifier$1.run(JarVerifier.java:222)
        at javax.crypto.JarVerifier$1.run(JarVerifier.java:187)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.crypto.JarVerifier.<clinit>(JarVerifier.java:186)
        ... 11 more

Что я делаю:

  1. Скопируйте nCipherKM.jarфайл из / java / classes в /jre/lib/ext.
  2. Загрузите файлы политики неограниченной юрисдикции Java Cryptography Extension (JCE) из oracle и скопируйте local_policy.jar и US_export_policy.jar в ваш jre / lib / security
  3. Добавить в jre / lib / security / java.security nCipherKM провайдер первым:

    security.provider.1 = com.ncipher.provider.km.mCipherKM security.provider. 2 = sun.security.provider.Sun security.provider.3 = sun.security.rsa.SunRsaSign ...

  4. Запуск:

    Java Com.ncipher.provider.InstallationTest

И получите ошибку.

1 Ответ

0 голосов
/ 09 ноября 2019

Проблема заключается в том, что ваши HSM не могут использоваться, что означает, что они недоступны, находятся в неправильном режиме или в другом непригодном для использования состоянии:

Причина: comИсключениеи исправить соответственно.

У вас nCipherKM как первый в списке (как сказано в руководстве), что означает, что ваша JVM перейдет к нему для всех операций шифрования, включая хеширование.

...