c# - 加载 X509Certificate2 间歇性错误
问题描述
我们有一个 AWS lambda 函数,其中包含对第 3 方的调用,第 3 方请求需要用于身份验证的证书。我们目前将此证书存储在 S3 存储桶中并按需加载,但是,我们遇到了一个零星的问题,即在将证书加载到字节数组后,我们使用字节数组和证书实例化 X509Certificate2 对象密码,抛出以下异常:
错误:0D07809F:asn1 编码例程:ASN1_ITEM_EX_D2I:意外的 eoc
用于检索证书文件的违规代码:
var certFile = await new Amazon.S3.AmazonS3Client().GetObjectAsync(
new GetObjectRequest
{
BucketName = CertificatesS3BucketName,
Key = CertFilename
}
);
var certStream = certFile.ResponseStream;
var bytes = new byte[certFile.ContentLength];
certStream.Read(bytes, 0, (int)certFile.ContentLength);
return bytes;
//EXCEPTION THROWN ON THIS LINE
var certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(bytes, "CERT-PASSWORD");
以前有没有人遇到过这个问题,并且可能会因为它让我感到困惑而有所启发!它在 50% 的时间里工作,在另外 50% 的时间里抛出这个异常
解决方案
推荐阅读
- django - Django apache wsgi 返回错误 403 Forbidden
- python - 如果用户输入某些输入,则从数据框创建 excel
- c - 制作一个替换两个数组之间元素的函数
- javascript - 获取超出时间范围的等距时间戳数组
- r - 如何修复 GAM 中整数变量的无效类型(列表)错误
- reactjs - GET 404(未找到)与获取
- javascript - 如何导入@material/theme 和@material/textfield 样式来创建自己的主题包
- javascript - 如何以及在哪里使用 Chrome.storage API 在 chrome 扩展程序中存储用户首选项?
- java - 为什么 array.sort 对这样的数组不起作用?
- php - 购物车页面中插件的货币转换错误