读取 Ubuntu 中的 pfx 证书以创建 X509
Reading a pfx certificate in Ubuntu to create an X509
我是 运行 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(ReadOnlySpan1 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 数据)
我是否需要以某种方式load/install将 pfx 文件上传到服务器?
看来我的问题是我的 pfx 文件不知何故损坏了。可能是由于我试图将其复制到服务器的方式。 re-uploading 我的 pfx 文件后,我可以使用以下内容:
var clientCert = new X509Certificate2("/etc/ssl/certs/foo.pfx");
您无需致电 ReadAllBytes
。
我是 运行 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(ReadOnlySpan1 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 数据)
我是否需要以某种方式load/install将 pfx 文件上传到服务器?
看来我的问题是我的 pfx 文件不知何故损坏了。可能是由于我试图将其复制到服务器的方式。 re-uploading 我的 pfx 文件后,我可以使用以下内容:
var clientCert = new X509Certificate2("/etc/ssl/certs/foo.pfx");
您无需致电 ReadAllBytes
。