PKCS11Exception: CKR_HOST_MEMORY
У меня проблемы с приложением, которое генерирует сообщения SOAP и выполняет некоторые подписи, используя класс XMLSignature из JDK.
Я получаю это исключение:
Caused by: java.security.ProviderException: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_HOST_MEMORY
at sun.security.pkcs11.P11Signature.engineSign(P11Signature.java:547)
at java.security.Signature$Delegate.engineSign(Signature.java:1160)
at java.security.Signature.sign(Signature.java:553)
at org.jcp.xml.dsig.internal.dom.DOMSignatureMethod.sign(DOMSignatureMethod.java:298)
at org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:397)
at uz.mm.ehealth.client.sts.HolderOfKeySOAPHandler.handleMessage(HolderOfKeySOAPHandler.java:156)
at uz.mm.ehealth.client.sts.HolderOfKeySOAPHandler.handleMessage(HolderOfKeySOAPHandler.java:85)
at com.sun.xml.internal.ws.handler.HandlerProcessor.callHandleMessage(HandlerProcessor.java:282)
at com.sun.xml.internal.ws.handler.HandlerProcessor.callHandlersRequest(HandlerProcessor.java:123)
at com.sun.xml.internal.ws.handler.ClientSOAPHandlerTube.callHandlersOnRequest(ClientSOAPHandlerTube.java:127)
... 31 more
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_HOST_MEMORY
at sun.security.pkcs11.wrapper.PKCS11.C_Sign(Native Method)
at sun.security.pkcs11.P11Signature.engineSign(P11Signature.java:538)
... 40 more
Погуглить это ничего не показало, хотя. Кто-нибудь знает, что это может означать или как я мог бы отладить это дальше?
Любые указатели будут с благодарностью!
1 ответ
Ошибка CKR_HOST_MEMORY, скорее всего, возвращается библиотекой PKCS#11, которую ваша JRE использует в качестве "плагина", который выполняет криптографические операции (создание цифровой подписи в вашем случае). Библиотеки PKCS#11 обычно поставляются производителями специализированного криптографического оборудования, такого как смарт-карты или HSM, и эти библиотеки предоставляют стандартизированный API, который может использоваться другими приложениями для простого и удобного доступа к таким устройствам.
Когда вы посмотрите на спецификацию PKCS#11 v2.20, вы найдете это описание ошибки, которую вы получаете:
CKR_HOST_MEMORY: на компьютере, на котором работает библиотека Cryptoki, недостаточно памяти для выполнения запрошенной функции.
Я считаю, что вам следует обратиться к поставщику библиотеки PKCS#11, которую вы используете. Он должен быть в состоянии диагностировать и решить вашу проблему.