java - 将 PEM 格式的字符串转换为 java.security.cert.X509Certificate

标签 java ssl x509certificate

如何从 PEM 格式的字符串创建 java.security.cert.X509Certificate 实例? PEM 格式的字符串是 HTTP 请求“SSL_CLIENT_CERT” header 值。

回答: 根据 mgaert 的回答,这是我在 Scala 中写的内容:

val cert = factory.generateCertificate(
    new ByteArrayInputStream(
      Base64.decodeBase64(
        cert.stripPrefix("-----BEGIN CERTIFICATE-----").stripSuffix("-----END CERTIFICATE-----")
      )
    ).asInstanceOf[X509Certificate]

最佳答案

将 Base64 解码为二进制,一些 InputStream 读取它,然后尝试

CertificateFactory cf = CertificateFactory.getInstance("X.509");
Certificate cert = cf.generateCertificate(is);

关于java - 将 PEM 格式的字符串转换为 java.security.cert.X509Certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9739121/

相关文章:

java - java中反转整数(关于方法的问题)

certificate - SAML 签名证书 - CA 签名与自签名

java - 使用现有证书、中间文件和远程创建的签名,使用 itextpdf for Java 对 PDF 进行两步签名

android - 以编程方式从 Android 的 Url 获取证书信息

java - 两个数组可以标记为一个队列吗?

java - Spring Boot - 如何指定备用启动类? (多个入口点)

java - 从 Java 填充邮戳模板

android - Qt for Android 和 BoringSSL

c# - Http 请求在从 ServiceBase.OnShutdown 发送时中止,但在 OnStop 中未中止

nginx - SSL 证书在 Nginx 代理管理器 (Cloudflare DNS) 上不起作用