C# Can.NET';s X509Store可用于从远程Linux存储获取证书?

C# Can.NET';s X509Store可用于从远程Linux存储获取证书?,c#,linux,ubuntu,.net-core,x509certificate2,C#,Linux,Ubuntu,.net Core,X509certificate2,我正在编写一个服务,定期遍历生产中远程服务器上的证书存储,以便跟踪使用的证书、位置及其过期日期,以防某些证书未按要求更新 遍历Windows服务器按预期工作。但我不确定如何处理(Ubuntu)linux上的Tomcat商店。X509Store对象是否能够以远程Linux机器为目标?StoreName和StoreLocation的概念是如何映射的?如何进行身份验证?我假设它需要一个SSH会话来尝试连接到存储。是的,我不知道从哪里开始 using(var store = new X509Store(

我正在编写一个服务,定期遍历生产中远程服务器上的证书存储,以便跟踪使用的证书、位置及其过期日期,以防某些证书未按要求更新

遍历Windows服务器按预期工作。但我不确定如何处理(Ubuntu)linux上的Tomcat商店。X509Store对象是否能够以远程Linux机器为目标?StoreName和StoreLocation的概念是如何映射的?如何进行身份验证?我假设它需要一个SSH会话来尝试连接到存储。是的,我不知道从哪里开始

using(var store = new X509Store($@"\\{serverName}\{storeName}", StoreLocation.LocalMachine))
{
    store.Open(OpenFlags.ReadOnly);
    foreach(var cert in store.Certificates)
    {
        var issuedTo = cert.GetNameInfo(X509NameType.SimpleName, false);

不会。Linux上的X509Store API尝试将Windows行为模拟到本地进程,但它没有远程功能

在Windows上,X509Store的真正实现是CAPI CertStore*API,它具有内在的跨机器通信能力(可能通过WinRPC);但它们基本上是操作系统的一部分

在Linux上,该功能仅由System.Security.Cryptography.X509Certificates库提供,因此根本没有远程监听功能


在macOS上,可能没有远程监听功能,但X509Store类是对Security.framework的SecKeychain*和SecTrust*API的解释和预测,因此在较低级别上可能存在某种程度的远程交互。

不幸的是,没有。主要是因为您提出了所有问题。