java - 如何在 java 中使用 .pem 文件证书发布数据

标签 java ssl certificate slate

我有板岩集成的要求。我有一个用于发布数据的代码,但我希望它能转换成 java。以下是引用代码:

'''string host = @url;
string certName = @"myfile.pfx"; // i am having .pem file
string password = @"password"; // no password
var certificate = new System.Security.Cryptography.X509Certificates.X509Certificate2(certName, 
 password);        
System.Net.ServicePointManager.ServerCertificateValidationCallback = (a, b, c, d) => true;
var req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(host);
req.PreAuthenticate = true;
req.Credentials = new System.Net.NetworkCredential("username", "");
req.ClientCertificates.Add(certificate);
req.Method = "POST";
req.ContentType = "text/xml";
string postData = "<hello>world</hello>";
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(postData);
req.ContentLength = postBytes.Length;
req.GetRequestStream().Write(postBytes, 0, postBytes.Length);
req.GetRequestStream().Close();
var resp = req.GetResponse();'''

请帮助将 c 代码转换为 java 代码或从 .pem 文件生成证书。我已经检查了谷歌中的许多链接,但它对我不起作用。从 .pem 文件生成证书时抛出不完整的数据或空数据。

提前致谢

最佳答案

如果您想阅读证书,可以使用下面的 java 代码。

CertificateFactory fact = CertificateFactory.getInstance("X.509"); FileInputStream is = new FileInputStream (pemfilepath); X509Certificate cer = (X509Certificate) fact.generateCertificate(is); PublicKey key = cer.getPublicKey();

如果你想要别的东西,请告诉我

关于java - 如何在 java 中使用 .pem 文件证书发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58989492/

相关文章:

java - 如何将输入句子的每个字母大写? ( java 语)

java - 在 Eclipse 中导入 Gradle 项目时对等体未通过身份验证

java - 32 位和 64 位最新 Java 运行时环境 (JRE)

php - cURL 错误 35 - 连接到 api.rkd.reuters.com 时出现未知 SSL 协议(protocol)错误 :443

ssl - 通配符 Cer 在配置 ssl 主机 header 后不起作用

c++ - 奇怪的调用栈,会不会是asio使用openssl的问题?

java - https URL 主机名与客户端信任库中服务器证书上的公用名 (CN) 不匹配

c - 使用 OpenSSL 生成包含很少信息的证书

java - "\u001B[J"代表什么?

c# - MSI、UAC 和未识别的发布者。如何更改身份不明的发布者?