Я застрял с этим исключением:
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;
}