草庐IT

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

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

十六进制的 PHP SSL 证书序列号

我需要显示有关序列号的SSL证书信息。当我使用$cert=file_get_contents('mycert.crt');$data=openssl_x509_parse($cert,true);$data['serialNumber']我喜欢-5573199485241205751但是当我运行命令时opensslx509-in'mycert.crt'-noout-serial我收到序列号=B2A80498A3CEDC09可以用PHP接收吗?谢谢。 最佳答案 您可能正在接收字节数组形式的序列号。将这些字节转换为十六进制,您应该使用o

php - 如何在 PHP 中创建数字证书并导出到 .p12 文件?

如何在PHP中创建数字证书并导出到.p12文件?我希望.p12文件包含私钥。并且还想检查key对是否已经发布(登录数据库)。我找到了一个名为“openssl_pkcs12_export_to_file”的函数,但不知道从哪里开始。看来我首先需要一个X509证书和一个私钥。 最佳答案 ";var_dump($Var);echo"";}functioncheck_errors(){echo"";$Count=0;while(($e=openssl_error_string())!==false){echo$e."";$Count++;}

php - 解析 X509 证书

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

具有相互证书的 WCF 服务互操作的 Java 客户端 - 无法解析用于验证签名的 KeyInfo

异常:MessageSecurityException:无法解析用于验证签名的KeyInfo:KeyInfo'SecurityKeyIdentifier我必须设置WCF服务以接收来自Java客户端的SOAP调用,该客户端发送带有以下header的签名内容:………CN=XXXXXXXX111122222xxxxxxxxx我已尝试设置以下绑定(bind)和行为:但我在服务器事件日志中收到以下异常:ClientIdentity:ActivityId:MessageSecurityException:CannotresolveKeyInfoforverifyingsignature:KeyIn

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 - 使用 Java 编写 SSL 检查器

有人知道关于用Java编写SSL检查器的任何好的教程、站点和/或书籍吗?我正在尝试做可以在这里找到的事情:http://www.sslshopper.com/ssl-checker.html.我不是要创建自签名证书或使用keystore。我希望能够访问任何站点,确定是否存在有效的SSL证书,确定证书上的主机名是否与输入的名称匹配,并确定该证书何时过期。我用谷歌搜索了这个主题,但“如何使用Java创建SSL购物者”没有给我任何结果,我的其他搜索只给我带来了关于如何创建自签名证书的链接。任何帮助将不胜感激。 最佳答案 要首先获取服务器证

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

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

java - 使用 Java 使用 BouncyCaSTLe 生成 X509Certificate

这就是我现在用来生成数字证书的内容。现在我可以生成一个数字证书,其中的密码对私钥进行保护。publicstaticvoidmain(String[]args)throwsException{Security.addProvider(newBouncyCastleProvider());testKeyStore();}publicstaticvoidtestKeyStore()throwsException{try{StringstoreName="d://suresh_test.cer";java.security.KeyPairGeneratorkeyPairGenerator=Ke

java - 使用 H2 数据库的 JDBC 中的年份从负 -509 变为正 510

-509对比510我看到使用JDBC时发生了某种更改或错误的数据。所以我观察使用H2DatabaseJava8更新151上的版本1.4.196。这是一个完整的例子。请注意我们如何检索日期值三次,第一次作为LocalDate对象,第二次作为文本,第三次作为从转换中提取的int年份数字>LocalDate对象。在文字版中我们可以看到年份确实是负数。奇怪的是,LocalDate有一个不同的年份,它是正数而不是负数。似乎是一个错误。privatevoiddoIt(){System.out.println("BASIL-RunningdoIt.");try{Class.forName("org.