由OpenSSL签名的XML的内容

时间:2014-10-09 15:25:45

标签: c# xml openssl cryptoapi

目前,我希望使用C#中的库CryptoAPI对XML文件进行签名和加密。实际上,我希望使用以下命令行执行与OpenSSL相同的工作:

openssl smime -sign -in file.xml -out file.out -passin pass:test -binary -nodetach -inkey certificat.priv.pem -signer certificat.pub.pem

要在桌面应用程序上使用C#实现这一点,我刚刚使用了SignedXML的功能。不幸的是,Compact Framework中不存在这些功能!所以,我尝试使用CryptoAPI手工构建我的XML。我的代码工作正常,但我的XML与OpenSSL获得的不同。

这是我的XML摘要(已签名):

UNKNOWN STRING (in base 64, it begins by “MII…”)
<?xml version="1.0"?>
<test>
    CONTENT OF MY XML
    <signature>…</signature>
</test>
FIRST UNKNOWN string (perhaps the Public Key)
SECOND UNKNOWN string (in this string, there is the current date)

因此,使用CryptoAPI,我计算了摘要值和签名。使用XMLDocument函数,我已将这些信息插入到我的XML中。现在,我搜索了解上述未知字符串的组成。

你能解释一下这些未知字符串的内容吗?我已经完成了几次搜索,但我没有找到解释。

提前感谢您的帮助!

祝你好运

0 个答案:

没有答案