iOS如何通过openssl将DH公钥X.509 DER生成到Java服务器

问题描述

我通过openssl生成DH公共密钥(X.509 DER)到Java服务器。但是服务器解析错误。怎么了? iOS生成DH公钥(X.509 DER)代码

DH *dh2 = DH_new();
DH_generate_parameters_ex(dh1,512,DH_GENERATOR_2,NULL);
DH_generate_key(dh2);
unsigned char *resutChar = NULL;
int len = i2d_DHparams(dh,&resutChar);
NSData *puKeyData = [NSData dataWithBytes:resutChar length:length11];
Nsstring *puKeyBase64Str = [puKeyData base64EncodedStringWithOptions:0];

puKeyBase64Str发送到Java服务器。

java服务器解析代码

X509EncodedKeySpec x509KeySpec=new X509EncodedKeySpec(key);
KeyFactory keyFactory=KeyFactory.getInstance(KEY_ALGORITHM);
PublicKey pubKey=keyFactory.generatePublic(x509KeySpec);
DHParameterSpec dhParamSpec=((DHPublicKey)pubKey).getParams();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)