首页 > 解决方案 > 在通过 httpClient 发送到服务提供商之前从“es-staging.crt”证书签署 Xml

问题描述

es-staging.crt从我正在使用其服务的服务提供商那里获得了文件。我需要使用此es-staging.crt证书发送签名的 xml。我不知道如何实现它。

如何用java语言解决这个问题?

我已经通过 java 代码阅读了证书信息,如下所示。

String cerPath = "E:/configDirectory/es-staging.crt";
fileInputStream = new FileInputStream(new File(cerPath));
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
x509Certificate = (X509Certificate) certificateFactory.generateCertificate(fileInputStream);
publicKey = x509Certificate.getPublicKey();
expiryDate = x509Certificate.getNotAfter();

System.out.println("public key : "+publicKey);
System.out.println("expiryDate : "+expiryDate);

System.out.println("--> Subject: " + x509Certificate.getSubjectDN().getName());

System.out.println("--> Issuer: " + x509Certificate.getIssuerDN().getName());

我只有这个es-staging.crt证书。

标签: javaalgorithmpublic-key-encryptionprivate-keysign

解决方案


您不能使用 X509 公钥签署文档。您需要访问私钥。


推荐阅读