我正在从事与移动/服务器安全相关的项目。我现在正忙于生成 Diffie-Hellman 密钥协议部分。它在服务器端程序中运行良好,但在移动端无法运行。因此,我认为它不适用于 Android。
我使用以下类来获取参数。它返回一个逗号分隔的 3 个值的字符串。第一个数字是素数模 P。第二个数字是基生成器 G。第三个数字是随机指数 L 的位大小。
我的问题是代码有什么问题,或者它不能用于 android?我应该做什么样的改变?
您的建议和指导对我很有帮助。提前非常感谢。
public static String genDhParams() {
try {
// Create the parameter generator for a 1024-bit DH key pair
AlgorithmParameterGenerator paramGen = AlgorithmParameterGenerator.getInstance("DH");
paramGen.init(1024);
// Generate the parameters
AlgorithmParameters params = paramGen.generateParameters();
DHParameterSpec dhSpec = (DHParameterSpec)params.getParameterSpec(DHParameterSpec.class);
// Return the three values in a string
return ""+dhSpec.getP()+","+dhSpec.getG()+","+dhSpec.getL();
} catch (NoSuchAlgorithmException e) {
} catch (InvalidParameterSpecException e) {
}
return null;
}
问候,
塞比