【发布时间】:2013-02-06 18:30:38
【问题描述】:
我正在尝试使用 Java 对 XML 文档进行签名,并且我正在关注此 tutorial。我试图使用我的私钥签署文档,但是当我查看 API 时,它说 KeyValue 只接受一个 PublicKey 作为参数。同样在本教程中,它让我使用私钥签署 DOMSignContext,然后使用公钥签署 XMLSignature。
DOMSignContext dsc = new DOMSignContext(kp.getPrivate(), doc.getDocumentElement());
KeyValue kv = kif.newKeyValue(kp.getPublic());
KeyInfo ki = kif.newKeyInfo(Collections.singletonList(kv));
XMLSignature signature = fac.newXMLSignature(si, ki);
我认为私钥的全部意义在于人们会信任你?为什么你需要一个公钥来处理这里的任何事情?有人可以为我解释一下这里的细节吗?
【问题讨论】:
标签: java key digital-signature keystore xml-signature