根据文档,我正在实现RSACryptoToken,这是RSA加密令牌的接口。 有twp方法,称为decryptRSA和signRSA - 它们应该被实现。 在文档中有一个信息,他们应该执行原始RSA解密和原始RSA签名操作。
答案 0 :(得分:1)
基本上PKCS#1 v1.5由三部分组成:
散列是ASN.1编码的,包括一个ASN.1对象标识符,它唯一地指定使用的散列,以及值,如下所示:
DigestInfo ::= SEQUENCE {
digestAlgorithm AlgorithmIdentifier,
digest OCTET STRING
}
这是直接从PKCS#1规范中复制的(这些规范非常易读且可公开获得)。请注意,编码在标准中也直接指定为字节。
Blackberry操作仅提供1)和2),这意味着您必须自己提供包含哈希的ASN.1,DER编码结构。没有为加密/解密定义这样的结构,只删除了填充。
加密使用随机填充(内部)与非随机填充进行签名。这允许您加密“是”两次,而窃听者无法检测是否为“是”。填充也需要保护签名免受攻击。
答案 1 :(得分:0)
我解决了问题,操作signRSA和decryptRSA应该执行相同的纯模数操作
感谢您的帮助