| 发表于:2007-04-25 11:56:51 楼主 |
我参考书上代码,用c#写了一个数字签名的程序,现在出现错误,但是不知道应该怎么修改,请大家帮忙。源代码如下: xmldocument document=new xmldocument(); document.load(server.mappath( "card.xml ")); signedxml signedxml=new signedxml(); rsa rsakey=rsa.create(); signedxml.signingkey=rsakey; dataobject dataobject=new dataobject(); dataobject.data=document.childnodes; dataobject.id= "signedobject "; signedxml.addobject(dataobject); reference reference=new reference(); reference.uri= "#signedobject "; signedxml.addreference(reference); keyinfo keyinfo=new keyinfo(); keyinfo.addclause(new rsakeyvalue(rsakey)); signedxml.keyinfo=keyinfo; signedxml.computesignature(); signedxml.signature.id= "order "; xmlelement xmlsignature=signedxml.getxml(); document=new xmldocument(); xmlnode xmlnode=document.importnode(xmlsignature,true); document.appendchild(xmlnode); document.save(server.mappath( "card.xml ")); 提示错误出现在signedxml.computesignature()。 提示错误:the specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type. 不知道我的类型怎么出错了,应该怎么修改呢? |
|
|
|
|