小编use*_*564的帖子

Java SSL异常 - "Prime大小必须是64的倍数..."

我正在尝试实现一个非常简单的SSL客户端来向服务器发送HTTPS POST请求,并且我遇到了这个看似无害的异常.JSSE参考指南尚未使用.非常感谢.

SSLContext ctx = SSLContext.getInstance("SSL");
// Accept-all trust manager
TrustManager[] trustEverything = { new DefaultTrustManager() };       

// Keystore file in local directory
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(new java.io.FileInputStream("keystore"),"123456".toCharArray());

// Key manager  
KeyManager[] managers;
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, "123456".toCharArray());
managers = kmf.getKeyManagers();

ctx.init(managers, trustEverything, new SecureRandom());
SSLSocketFactory sslFact = (SSLSocketFactory) ctx.getSocketFactory();
// Connect to internal SSL-enabled server
SSLSocket socket = (SSLSocket) sslFact.createSocket("10.131.149.36", 8443);
Run Code Online (Sandbox Code Playgroud)

我尝试握手时抛出异常:

socket.startHandshake();
Run Code Online (Sandbox Code Playgroud)

我试图找到这些参数初始化的地方无济于事.请让我感到愚蠢.

Caused by: java.security.InvalidAlgorithmParameterException: Prime size must be multiple of 64, and can only …
Run Code Online (Sandbox Code Playgroud)

java ssl

7
推荐指数
1
解决办法
5万
查看次数

标签 统计

java ×1

ssl ×1