【问题标题】:Pass a org.bouncycastle.asn1.ASN1TaggedObject encoded string to a web service method将 org.bouncycastle.asn1.ASN1TaggedObject 编码字符串传递给 Web 服务方法
【发布时间】:2014-05-10 14:13:45
【问题描述】:

到目前为止,这是我的代码,但我不知道如何继续

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 ); 

请指教。

【问题讨论】:

标签: c# security cryptography asn.1


【解决方案1】:

ASN1TaggedObject 扩展 Org.BouncyCastle.Asn1.Asn1Encodable 提供以下方法:

  • GetDerEncoded():byte[] - 返回对象的 DER 表示。
  • GetEncoded():byte[] - 返回对象的 BER 表示。
  • GetEncoded(string):byte[] - DER 或 BER 表示取决于参数值(应该是 "DER""BER")。

除非您有一些特定要求,否则您应该使用GetDerEncoded()Asn1Encodable 对象转换为二进制表示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-02
    • 2012-08-09
    • 1970-01-01
    • 2012-04-10
    • 2016-05-29
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    相关资源
    最近更新 更多