TlsPremasterSecret SecretKeyЗавод недоступен - PullRequest
0 голосов
/ 02 мая 2018

Я получаю эту ошибку во время рукопожатия по URL-адресу https. Как я могу добавить конкретную SecretKeyFactory? Ошибка должна быть связана с настройкой https этого конкретного URL-адреса, потому что для других подобных URL-адресов я не получаю эту ошибку. Я использую JDK 1.8.0_162

javax.net.ssl.SSLHandshakeException: Could not generate secret
        at sun.security.ssl.DHCrypt.getAgreedSecret(DHCrypt.java:219)
        at sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:1106)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:348)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1052)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:987)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
        at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
        at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
        at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:162)
        at de.martinm.tools.EBICS.EBICSKernel.fetchHPB(EBICSKernel.java:918)
        at de.martinm.tools.EBICS.EBICSKernel.doFetch(EBICSKernel.java:675)
        at de.martinm.tools.EBICS.EBICSKernel.checkBankKeys(EBICSKernel.java:2013)
        at de.martinm.tools.EBICS.MyIFPEBICS.process(MyIFPEBICS.java:126)
        at de.martinm.tools.EBICS.MyIFPEBICS.main(MyIFPEBICS.java:144)
Caused by: java.security.NoSuchAlgorithmException: TlsPremasterSecret SecretKeyFactory not available
        at javax.crypto.SecretKeyFactory.<init>(SecretKeyFactory.java:122)
        at javax.crypto.SecretKeyFactory.getInstance(SecretKeyFactory.java:160)
        at iaik.security.dh.DHKeyAgreement.engineGenerateSecret(Unknown Source)
        at javax.crypto.KeyAgreement.generateSecret(KeyAgreement.java:648)
        at sun.security.ssl.DHCrypt.getAgreedSecret(DHCrypt.java:217)
        ... 16 more
Exception in thread "main" java.lang.NullPointerException
        at de.martinm.tools.EBICS.EBICSKernel.doFetch(EBICSKernel.java:679)
        at de.martinm.tools.EBICS.EBICSKernel.checkBankKeys(EBICSKernel.java:2013)
        at de.martinm.tools.EBICS.MyIFPEBICS.process(MyIFPEBICS.java:126)
        at de.martinm.tools.EBICS.MyIFPEBICS.main(MyIFPEBICS.java:144)

1 Ответ

0 голосов
/ 03 мая 2018

Причиной исключения стал провайдер IAIK, который мне пришлось добавить в мой код с помощью

IAIK.addAsProvider(false);

этот провайдер впоследствии перепутал связь https. После добавления

Security.removeProvider("IAIK");

добавить конец кода, который использовал IAIK, исключение больше не происходило

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...