当前页面: 开发资料首页 → J2ME 专题 → 保护您的 J2ME/MIDP 应用程序(3)-汉土网络
摘要: 保护您的 J2ME/MIDP 应用程序(3)-汉土网络
ECDSASigUtil.generateKeys() 方法使用清单 7 中的模型生成随机的密钥对。正如前面提到的那样,这个步骤通常由中央认证中心在脱机状态下完成。
清单 8. 使用清单 7 中的模型生成随机的密钥对公钥以参数 Q 来描述,并且用 pubKey.getQ() 方法来检索它。为了避免与模型参数 q 产生混淆,在方法中使用 QQ ,XML 元素名使用大写的 Q 。清单 9 显示了 ECDSAUtil 类中的方法。这些方法检索模型和密钥参数,它们是重新构造公钥对象所必需的。
清单 9. 用于检索模型和密钥参数的 ECDSAUtil 方法通过使用生成的私钥,实用程序类 ECDSASigUtil 可以从摘要获取两部分 DSA 签名 R 和 S :
清单 10. 检索 DSA 签名服务器将摘要、签名和密钥参数编码成 ASCII 文本格式并以 XML 数字签名格式嵌入该文本。和检索方法名中一样,公钥参数 Q 被记录为 QQ ,以将它与相应 XML 元素中的密钥参数 q 区分开来,如清单 11 所示:
清单 11. 编码并以数字签名格式嵌入验证 MIDP 应用程序从 XML 文档解析出摘要、密钥参数和签名,重新构造公钥并使用清单 12 中显示的方法来验证签名:
清单 12. 验证签名RSASigUtil.generateKeys() 方法使用 Exponent 生成随机的密钥对。同样,这个步骤通常由中央认证中心在脱机状态下完成。
清单 13. 生成随机的密钥对 </td> </tr> <tr>