草庐IT

c# - 如何以编程方式创建有效的自签名 X509Certificate2,而不是从 .NET Core 中的文件加载

我目前做的是使用OpenSSL生成PFX文件。这会导致不必要的依赖,尤其是对于Windows用户。所以我找到了一些关于如何使用BouncyCaSTLe创建自己的证书的示例,但是这个库与.NETCore不兼容(或者我找不到兼容的包)。那么,是否可以仅使用.NET核心创建您自己的自签名X509证书以避免依赖OpenSSL(或任何其他证书生成外部工具)?编辑:有人(编辑?)建议这个SO问题Howtocreateaself-signedcertificateusingC#?提供了一个答案。可悲的是,这与.NETCore无关。接受的答案以ThisimplementationusestheCX50

c# - 加载 X509Certificate 导致异常 CryptographicException "Cannot find the original signer"

我正在尝试实例化一个X509Certificate对象,但我一直遇到相同的CryptographicException,并显示错误消息:"Cannotfindtheoriginalsigner".我尝试了几种加载证书的方法://somedifferentthingsthatIhavetriedvarcert=X509Certificate.CreateFromCertFile(certFileName);varcert2=newX509Certificate(byteArray);varcert3=newX509Certificate(byteArray,secretString);v

c# - 名称 'X509Certificate2UI' 在当前上下文中不存在

有人在AspNetMVC4应用程序中使用X509Certificate2UI类有问题usingSystem.Security.Cryptography.X509Certificates;privatestaticX509Certificate2PickCertificate(StoreLocationlocation,StoreNamename){try{store.Open(OpenFlags.ReadOnly);//PROBLEMISHEREX509Certificate2cert=X509Certificate2UI.SelectFromCollection(store.Cert

c# - 如何从证书库中获取X509Certificate并生成xml签名数据?

如何从证书存储中获取X509Certificate,然后在.netC#中生成XMLSignatureData? 最佳答案 据我所知,证书不是用XML格式保存的,需要自己组合。这是你想要的吗?staticvoidMain(string[]args){X509Certificate2cer=newX509Certificate2();cer.Import(@"D:\l.cer");X509Storestore=newX509Store(StoreLocation.CurrentUser);store.Certificates.Add(c

c# - 在 C# 中,使用 x.509 证书签署 xml 并检查签名

我正在尝试使用x.509证书签署XML文件,我可以使用私钥签署文档,然后使用CheckSignature方法(它有一个接收证书作为参数的重载)来验证签名。问题是验证签名的用户必须有证书,我担心的是,如果用户有证书,那么他就可以访问私钥,据我所知,这是私有(private)的,应该只可用给签名的用户。我错过了什么?感谢您的帮助。 最佳答案 在.NET中,如果您从.pfx文件中获取X509证书,如下所示:X509Certificate2certificate=newX509Certificate2(certFile,pfxPasswor

php - 如何使用 PHP 的 OpenSSL 扩展验证 CA?

在命令行中,我可以通过键入来验证证书是由受信任的CA颁发的opensslverifymycert.pem我如何对PHP的OpenSSL库做同样的事情?PHP有一个openssl_verify带有许多额外参数的函数:data,string$signature,mixed$pub_key_id如何用相应的PHP函数重复那个简单的命令行操作? 最佳答案 使用phpseclib,apurePHPX509implementation非常简单.例如。loadCA('...');$x509->loadX509('...');echo$x509->

php - 解析 X509 证书

我想在php中解析X.509证书。证书采用DER编码的X.509格式。我尝试在php中使用openssl_x509_parse方法,但它不起作用。证书数据是在mdm中为CertificateList触发命令后收到的有效数据。我正在使用下面的代码:$data='MIIDizCCAnMCCQDCpCAUbA2P4TANBgkqhkiG9w0BAQUFADBrMSIwIAYDVQQKDBkqLnNtYXJ0c291cmNpbmdnbG9iYWwubmV0MSEwHwYDVQQLDBhEb21haW4gQ29udHJvbCBWYWxpZGF0ZWQxIjAgBgNVBAMMGSouc21hcn

java - 为 SSL 通信创建证书

我正在开发一个分布式应用程序,该应用程序具有许多唯一标识的从属进程,这些从属进程将通过启用SSL的套接字与主应用程序通信。该应用程序是用java编写的。我需要一些帮助来理解SSLSockets,或者更确切地说,他们使用的证书。我正在寻找的是可以告诉我是否已正确理解证书链的基本工作原理,但我也不会拒绝代码示例的人。我想要这样一种设置,其中服务器本身具有CA签名证书,并且每个从服务器都将获得由主应用程序创建的自己的证书。CA->Mainservercert->MasterSSLcertCA->Mainservercert->SlaveSSLcert1CA->Mainservercert->

java - 如何在 Java 中使用 X.509 证书签署 HTTP 请求?

如何使用Java执行HTTP请求并使用X.509证书对其进行签名?我通常使用C#编程。现在,我想做的是类似于以下内容,仅在Java中:privateHttpWebRequestCreateRequest(Uriuri,X509Certificate2cert){HttpWebRequestrequest=(HttpWebRequest)HttpWebRequest.Create(uri);request.ClientCertificates.Add(cert);/*...*/returnrequest;}在Java中,我创建了一个java.security.cert.X509Certi

java - 如何知道哪个 X509 证书签署了另一个证书(Java)

在我的示例中有三个证书,假设它们形成一个链,但我还不知道它们中的哪一个签署了哪个:X509Certificatec1=....X509Certificatec2=....X509Certificatec2=....我想知道哪个证书负责签署另一个证书。计划是获取“AuthorityKeyIdentifier”并将其与“SubjectKeyIdentifier”匹配。importorg.bouncycastle.asn1.DEROctetString;privatestaticStringdecodeKey(byte[]e){DEROctetStringoctet=newDEROctetS