我正在嘗試傳遞給一個函數(shù)并使用根標(biāo)簽<NextMsg ID="Edoc">2019-09-20T14:57:46</NextMsg>中包含的數(shù)字簽名對其進(jìn)行簽名<EDoc></Edoc>這是預(yù)期的結(jié)果:<?xml version="1.0" encoding="UTF-8"?><EDoc> <NextMsg ID="Edoc">2019-09-20T14:57:46</NextMsg> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="DS_A2B2112853C1478C8860CB8DC6FA23D2"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <DigestValue>op0/fC+H5/0h7AGdUiEaNnNzd9WXs3VDouQQhRk8XgU=</DigestValue> </Reference> <Reference URI="#SP_A2B2112853C1478C8860CB8DC6FA23D2" Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties"> <DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/> <DigestValue>Kv75qkIImVnf9H7PZV+1er1n8YIBY5yRGXdpWSUIAX4=</DigestValue> </Reference> </SignedInfo> <SignatureValue>=sign-value=</SignatureValue> <ds:Object xmlns="http://uri.etsi.org/01903/v1.1.1#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <QualifyingPropertiesReference URI="http://www.test.com"/> <QualifyingProperties Target="#DS_A2B2112853C1478C8860CB8DC6FA23D2"> <SignedProperties Id="SP_A2B2112853C1478C8860CB8DC6FA23D2"> <SignedSignatureProperties> <SigningTime>2019-09-20T14:57:48+03:00</SigningTime> <SigningCertificate>
1 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗 獲得超4個贊
XadesSigner.sign
將添加簽名作為所提供元素的子元素。既然你說你正在傳遞<NextMsg>...
字符串參數(shù),那么輸出就應(yīng)該是這樣的。
要重現(xiàn)您想要的輸出,您可能應(yīng)該將<tDoc><NextMsg>...
文檔節(jié)點傳遞并傳遞給sign
方法 (?<tDoc
),以便將簽名附加到它。如果您需要更多控制,您可以使用允許sign
指定將簽名附加到文檔的不同方式的重載SignatureAppendingStrategies.lastChild
(例如)
旁注:您可能想讓文檔構(gòu)建器工廠名稱空間感知。
添加回答
舉報
0/150
提交
取消