Процедуры RSA: OPENSSL_internal: DATA_LEN_NOT_EQUAL_TO_MOD_LEN - PullRequest
0 голосов
/ 22 апреля 2019

Я застрял с этим исключением:

java.security.cert.CertificateException: java.lang.RuntimeException: error:04000070:RSA routines:OPENSSL_internal:DATA_LEN_NOT_EQUAL_TO_MOD_LEN
at com.android.org.conscrypt.OpenSSLX509Certificate.verifyOpenSSL(OpenSSLX509Certificate.java:366)
at com.android.org.conscrypt.OpenSSLX509Certificate.verify(OpenSSLX509Certificate.java:394)
at com.ss.app1.view.PCMVoiceView.sendVerification(PCMVoiceView.java:493)
at com.ss.app1.view.PCMVoiceView$1.onOpen(PCMVoiceView.java:109)
at org.java_websocket.client.WebSocketClient.onWebsocketOpen(WebSocketClient.java:379)
at org.java_websocket.WebSocketImpl.open(WebSocketImpl.java:706)
at org.java_websocket.WebSocketImpl.decodeHandshake(WebSocketImpl.java:330)
at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:215)
at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:287)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.RuntimeException: error:04000070:RSA routines:OPENSSL_internal:DATA_LEN_NOT_EQUAL_TO_MOD_LEN
at com.android.org.conscrypt.NativeCrypto.X509_verify(Native Method)
at com.android.org.conscrypt.OpenSSLX509Certificate.verifyOpenSSL(OpenSSLX509Certificate.java:364)
... 9 more

Я пишу тестовый код ssl.

Однако при проверке с использованием publickey, полученного из загруженного сертификата, возникает ошибка OPENSSL_internal: DATA_LEN_NOT_EQUAL_TO_MOD_LEN.

Я думаю, что это проблема заполнения pkcs ... Я не уверен, я не могу найти решение. (Все решения, которые я нашел, связаны с шифром ...)

Мне нужна помощь.

спасибо.

X509Certificate cert = customTrustManager.getLastCheckedCertificate(); //this is no problems (get certificates)
PublicKey pubkey = cert.getPublicKey(); //this is no problems

try {
    cert.verify(pubkey); //certificate exception (RSA routines:OPENSSL_internal:DATA_LEN_NOT_EQUAL_TO_MOD_LEN)
    verification_status = true;
}
...