Java を使用して XML ドキュメントに署名しようとしています。このチュートリアルに従っています。秘密鍵を使用してドキュメントに署名しようとしましたが、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);
秘密鍵の要点は、人々があなたを信頼するためだと思いましたか? ここで公開鍵が必要なのはなぜですか?誰かがここで詳細を説明してくれませんか?