Как я могу сопоставить СЕРТИФИКАТ против CSR в JAVA - PullRequest
0 голосов
/ 20 марта 2019

Понятия не имею, как этого добиться. Я ссылался на эту ссылку , где я могу сопоставить свой CSR с сертификатом.

В этом инструменте они получают хэш из сертификата и csr и сопоставляют их. Поэтому я также пытался получить хеш, но я не смог получить правильное значение.

Вот моя реализация:

BufferedInputStream bufferedIS = new BufferedInputStream(mulitpartFile.getInputStream());
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
Certificate certificate = certificateFactory.generateCertificate(bufferedIS);
X509Certificate x509Certificate = (X509Certificate) certificate;

String thumbprint = DigestUtils.sha512Hex(x509Certificate.getEncoded());

Но я не получаю точное значение, что я получаю там инструмент.

Вот мой CSR и СЕРТИФИКАТ.

CSR

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIC/jCCAeYCAQAwdDENMAsGA1UEAxMEMkdSSTEMMAoGA1UECxMDQUlCMRAwDgYD
VQQLEwdEZXZpY2VzMTYwNAYDVQQKEy1FdXJvcGVhbiBBZXJvbmF1dGljIERlZmVu
Y2UgYW5kIFNwYWNlIENvbXBhbnkxCzAJBgNVBAYTAkRFMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEA8yh1MlHMF4Q8WJAUDjaQ6pnEKEUdl85Dhyg/STF2
uxHnasR9aBavd5he20IVmzHX3X8rG2RM3lN2QP/3j0zObpPTPHvNhp/CuTFw6qrX
JovktZv0VNIZhAWbZHl4Ar+2zX44c0VbuHOZDbrYlteREdbg0x9hNj3AObQe37TQ
33rA4jABbMEODtGlPprMSsSzUCiHJ6KRSVGGuIUAIHjgIqciLOvqfgICD6mgHi58
yeM1hi3MfXIm8BAlIFMCJZgO+IDDBFkfvCPAdDmnTy9O8e6eXFQ2etFlAgYN2l16
3NqBQw5cJ5Oyg8By4xPcreRDgmqzz2YoIZnqJGW0Y46tCwIDAQABoEUwQwYJKoZI
hvcNAQkOMTYwNDAOBgNVHQ8BAf8EBAMCBsAwIgYDVR0RAQH/BBgwFogOKwYBBAHr
EIZKAv8wLg+HBMLOFp4wDQYJKoZIhvcNAQELBQADggEBALN3kYMVHlrPWO/8yv3n
imKEgXZZRPK9rVnPtkxVKJFAnnLwMFLx8rRCxHO72FwaO+O/IXXrsUSzpOsw+QOa
+PmKDDoxNwrv66ZjKtmUItBcmT4nJHRQZzvtW1vX6m7OjB68tKeDuqoWNpbObcJv
D3TMK9XWW9NqS1sCcGF8l/xjvsWYvEOv9M3eZzq+quWb6gROQT6oFajjjpLAsfDU
/yh9Ax2bHqIjpPa8WGXkST+2Eq06SUZOBsuUae3USoEmCPNJ6pAGpIeU+HTNygmS
s9UYyMMEo8dX+CYsRk+U65PfYbXvyi0LfPAhWeEucgAcxfOVtePsSaVLDMG+4Ysi
e2M=
-----END NEW CERTIFICATE REQUEST-----

СЕРТИФИКАТ

-----BEGIN CERTIFICATE-----
MIIDyTCCArGgAwIBAgIUewyWehvM8zXxeNHiCw6jnGNj+hQwDQYJKoZIhvcNAQEL
BQAwdDENMAsGA1UEAxMEMkdSSTEMMAoGA1UECxMDQUlCMRAwDgYDVQQLEwdEZXZp
Y2VzMTYwNAYDVQQKEy1FdXJvcGVhbiBBZXJvbmF1dGljIERlZmVuY2UgYW5kIFNw
YWNlIENvbXBhbnkxCzAJBgNVBAYTAkRFMB4XDTE5MDMyMDA1NDIzOVoXDTIwMDMx
OTA1NDIzOVowdDENMAsGA1UEAxMEMkdSSTEMMAoGA1UECxMDQUlCMRAwDgYDVQQL
EwdEZXZpY2VzMTYwNAYDVQQKEy1FdXJvcGVhbiBBZXJvbmF1dGljIERlZmVuY2Ug
YW5kIFNwYWNlIENvbXBhbnkxCzAJBgNVBAYTAkRFMIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEA8yh1MlHMF4Q8WJAUDjaQ6pnEKEUdl85Dhyg/STF2uxHn
asR9aBavd5he20IVmzHX3X8rG2RM3lN2QP/3j0zObpPTPHvNhp/CuTFw6qrXJovk
tZv0VNIZhAWbZHl4Ar+2zX44c0VbuHOZDbrYlteREdbg0x9hNj3AObQe37TQ33rA
4jABbMEODtGlPprMSsSzUCiHJ6KRSVGGuIUAIHjgIqciLOvqfgICD6mgHi58yeM1
hi3MfXIm8BAlIFMCJZgO+IDDBFkfvCPAdDmnTy9O8e6eXFQ2etFlAgYN2l163NqB
Qw5cJ5Oyg8By4xPcreRDgmqzz2YoIZnqJGW0Y46tCwIDAQABo1MwUTAdBgNVHQ4E
FgQUXMHQnnIrkSavE10n8wS/ZD9yz8wwHwYDVR0jBBgwFoAUXMHQnnIrkSavE10n
8wS/ZD9yz8wwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAujxz
tDjgy5XIJLSbBdBQorwYa51rWaA1zlRwDW9j690JncoIsNeiuWA1MzlpcWFEwcYz
KYciJcUZSwtpao9mioGrTDrChPkfeJrpaKhUNQkQbc59YpiKyShE05KKpFjSZJzZ
p5K8mQfq6OHlee4khxVJA/VirtoWlmtzzV5XyqbCDLIBZhOj005D1eu8KBq+qN09
KKiiUC16Lgj6UdBAfQWf79yN6ymxH9mex5T2HAJQir4rdx1nc5nFpC2V1pJpS8fW
EJNQgipn6CsufB58j4eWu1QAfceRvq7C7k3MbQk3wlW67m/LVQWSu49S6MmRb0EW
a9FacTxnmJFElBO5Gg==
-----END CERTIFICATE-----

Если у вас есть идея добиться этого, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 21 марта 2019

Ваш код создает хеш из полного сертификата x509Certificate.getEncoded(), а не открытого ключа.

...