首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SunMSCAPI对预先创建的摘要签名

问使用SunMSCAPI对预先创建的摘要签名
EN

Stack Overflow用户
提问于 2017-06-16 16:20:05
回答 1查看 243关注 0票数 0

摘要在一台服务器上创建,然后传递到另一台服务器,使用令牌/加密狗进行签名。密码API可以很好地与PKCS11 prvoider配合使用。

代码语言:javascript
复制
    Cipher c = Cipher.getInstance("RSA");
    c.init(Cipher.ENCRYPT_MODE, pk);

    DigestInfo di = new DigestInfo(new DefaultDigestAlgorithmIdentifierFinder().find("SHA-256"), hash);
    byte[] digestInfo = di.getEncoded();
    byte[] data = c.doFinal(digestInfo);

但在SunMSCAPI provider中使用加密API时,私钥被视为公钥,不需要询问令牌密码,生成的签名验证失败。此外,将密码与私钥一起使用也不是正确的方法(这里也会讨论- https://bugs.openjdk.java.net/browse/JDK-7050158 )。

如何在避免再次创建摘要的同时使用签名API?"NONEWithRSA“收到的输出不正确,因为我的摘要是"Sha-256”,签名验证将失败。

EN

回答 1

Stack Overflow用户

发布于 2017-06-17 13:57:16

已尝试读取SunMSCAPI的源代码。当使用"NONEWithRSA“时,它根据摘要长度找出摘要类型。对于签名,必须对摘要信息(AlorithmId+Digest)进行签名,因此传递给签名API的数据超过摘要长度,并且SunMSCAPI抛出传递的摘要不支持的数据长度错误。

看起来对于签名,它不可能使用预先创建的摘要与SunMSCAPI提供者。尽管同样适用于Pkcs11提供程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44584297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档