2014-05-10 55 views
0

到目前爲止,這是我的代碼,但我不知道如何着手傳遞一個org.bouncycastle.asn1.ASN1TaggedObject編碼字符串到Web服務方法

var theBytes = getSignedBytesFrom("Some string"); 
var ci = new ContentInfo(theBytes); 
var signedCms = new SignedCms(ci); 

var cmsSigner = new CmsSigner(myCert); 
signedCms.ComputeSignature(cmsSigner); 
signedCms.Encode(); 

//I dont know how to encode as org.bouncycastle.asn1.ASN1TaggedObject 
var ASN1TaggedObject = ? 

var result = Convert.ToBase64String(ASN1TaggedObject); 
var wsResponse = webs.passCms(result); 

請指點。

+0

該文件可能是一些對你有用的 http://www.afterlogic.com/mailbee-net/docs-itextsharp/html/a54f8e2b-1be0-a8de-d52b-d6eeed9a71ce.htm HTTP:/ /www.bouncycastle.org/csharp/ –

回答

0

ASN1TaggedObject延伸Org.BouncyCastle.Asn1.Asn1Encodable這提供了以下方法:

  • GetDerEncoded():byte[] - 返回對象的DER表示。
  • GetEncoded():byte[] - 返回對象的BER表示。
  • GetEncoded(string):byte[] - DER或BER表示取決於參數值(應該是"DER""BER")。

除非你提出一些特定的要求,否則你應該使用GetDerEncoded()Asn1Encodable對象轉換成二進制表示。

相關問題