Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BouncyCastle-将X509CrlEntry.SerialNumber转换为;“CAPI风格”;十六进制字符_C#_Bouncycastle - Fatal编程技术网

C# BouncyCastle-将X509CrlEntry.SerialNumber转换为;“CAPI风格”;十六进制字符

C# BouncyCastle-将X509CrlEntry.SerialNumber转换为;“CAPI风格”;十六进制字符,c#,bouncycastle,C#,Bouncycastle,我正在尝试使用Org.BouncyCastle.X509转储证书吊销列表(CRL)的内容。在这个用例中,我需要获取证书序列号的“十六进制”字符串表示形式的列表,正如它们出现在证书MMC管理单元中一样(示例值为16a03c2c000000000594) 我能够得到一个X509CRLEntry对象的集合进行迭代,但是SerialNumber属性的类型是Org.BouncyCastle.Math.BigInteger。此类型具有ToString()的实现,但是返回的值对我不可用: public CRL

我正在尝试使用Org.BouncyCastle.X509转储证书吊销列表(CRL)的内容。在这个用例中,我需要获取证书序列号的“十六进制”字符串表示形式的列表,正如它们出现在证书MMC管理单元中一样(示例值为16a03c2c000000000594

我能够得到一个X509CRLEntry对象的集合进行迭代,但是SerialNumber属性的类型是Org.BouncyCastle.Math.BigInteger。此类型具有ToString()的实现,但是返回的值对我不可用:

public CRLProc(字符串CRLFile)
{
X509CrlParser Parser=新的X509CrlParser();
X509Crl-CRL=Parser.ReadCrl(File.ReadAllBytes(CRLFile));
NextUpdate=CRL.NextUpdate.Value;
var RevokedCerts=CRL.GetRevokedCertificates();
foreach(撤销证书中的X509CrlEntry条目)
{
//目标值(CRL中的第一个序列号):16a03c2c000000000594
string serialNumber=entry.serialNumber.ToString();
//serialNumber=“1068478775154646973906324”(不适用)
string serialFromBytes=Encoding.Default.GetString(entry.SerialNumber.ToByteArray());

//serialFromBytes=“\u0016如果您只想将序列号作为十六进制字符串,则BigInteger具有以基数为基数的ToString重载,例如:

string serialFromBigInt = entry.SerialNumber.ToString(16);

如果您只想将序列号作为十六进制字符串,BigInteger会有一个以基数为基数的ToString重载,例如:

string serialFromBigInt = entry.SerialNumber.ToString(16);