gpt4 book ai didi

c# - 在 Ubuntu 中读取 pfx 证书以创建 X509

转载 作者:行者123 更新时间:2023-12-04 18:32:56 33 4
gpt4 key购买 nike

我在 Ubuntu 中运行 .NET Core 应用程序并尝试使用以下内容连接到云 RavenDB 实例:

var bytes = File.ReadAllBytes("/etc/ssl/certs/foo.pfx");
var clientCert = new X509Certificate2(bytes, "foo");

var store = new DocumentStore
{
Urls = new[] { "https://a.free.foo.ravendb.cloud" },
Certificate = clientCert,
Database = "FooDatabase"
};

store.Initialize();
builder.Services.AddSingleton<IDocumentStore>(store);
当应用程序启动时,我收到以下错误:
System.Security.Cryptography.CryptographicException:ASN1 损坏的数据。
---> System.Formats.Asn1.AsnContentException:编码长度超过了这个库支持的最大值(Int32.MaxValue)。
在 System.Formats.Asn1.AsnDecoder.ReadLength(ReadOnlySpan 1 source, AsnEncodingRules ruleSet, Int32& bytesConsumed) at System.Formats.Asn1.AsnDecoder.ReadEncodedValue(ReadOnlySpan 1 源,AsnEncodingRules 规则集,Int32& contentOffset,Int32& contentLength,Int32& bytesConsumed)
在 Internal.Cryptography.Pal.UnixPkcs12Reader.ParsePkcs12(ReadOnlySpan`1 数据)
我是否需要以某种方式将 pfx 文件加载/安装到服务器上?

最佳答案

看起来我的问题是我的 pfx 文件以某种方式损坏了。可能是由于我尝试将其复制到服务器的方式。重新上传我的 pfx 文件后,我可以使用以下内容:var clientCert = new X509Certificate2("/etc/ssl/certs/foo.pfx");您无需调用ReadAllBytes .

关于c# - 在 Ubuntu 中读取 pfx 证书以创建 X509,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71488114/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com