簡體   English   中英

替換分離的XML簽名(.NET)中的文件引用

[英]Replace file reference in detached XML signature (.NET)

我需要使用分離的簽名對一些XML文檔進行簽名,然后通過電子郵件將其發送給某人,以便他以后可以驗證簽名。 我的問題是,對簽名文件的引用是一個URI,並且僅使用絕對路徑和文件名。 如何將其更改為僅文件名? 因為,我不能保證此文件在接收者的位置完全相同。 就像是

 reference.Uri = "file_to_sign.xml";

只是不起作用,因為它不是有效的URI。 這是代碼:

var signer = new SignedXml(xmlDoc);
signer.KeyInfo = new KeyInfo();
signer.KeyInfo.AddClause(new RSAKeyValue(key));
signer.SigningKey = key;

var reference = new Reference();
reference.Uri = "file://C:/data/path/file_to_sign.xml";
signer.AddReference(reference);
signer.ComputeSignature();

預先感謝,Guenther

將當前工作目錄更改為XML文件位置:

var current=Directory.GetCurrentDirectory();
Directory.SetCurrentDirectory(xml_file_directory);
//sign/verify with relative URIs references
Directory.SetCurrentDirectory(curent);

您也可以編寫自己的XmlResolver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM