如何从signature.xml文件获取OCSP响应

问题描述 投票:0回答:1

我有以下签名文件,其中包含签名者的证书,OCSP响应和其他信息:

<?xml version="1.0" encoding="UTF-8"?>
<asic:XAdESSignatures xmlns:asic="http://uri.etsi.org/02918/v1.2.1#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<ds:Signature Id="S0">
<ds:SignedInfo Id="S0-SignedInfo">
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2006/12/xml-c14n11">
</ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256">
</ds:SignatureMethod>
<ds:Reference Id="S0-ref-0" URI="Lisa_1.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>zL9dI436Zdwxm0H2Ojs9iolp7s6PxApJDrRe3BFY2Fs=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-1" URI="Lisa_2.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>cNX/ShcNgqfC38HXg7aPsnkKoCd5nzzwwt4VufluiXM=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-2" URI="Lisa_3.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>/vLjJAWc/GEfEpebWvJTRaYY4kL46zG7t/LooLy49tQ=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-3" URI="Lisa_4.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>KdjdZx73736VjhGN2358wBu7wCR9E3CfxszQ5jMEgB0=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-4" URI="Lisa_5.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>5pvrm/hnncmdmcTwLP89IeXUlWGE+xZ/qhKgSI9M0AE=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-5" URI="Lisa_6.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>axdl5fEKUaPvIjKFrd1ccVw+SDbmcEtvvUIHnnFhGwo=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-6" URI="LVKM2019121900083.pdf">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>VDUABdolFkW/0GdCxMIpYVcY0PDSUN4gowCqS7sMnPQ=</ds:DigestValue>
</ds:Reference>
<ds:Reference Id="S0-ref-sp" Type="http://uri.etsi.org/01903#SignedProperties" URI="#S0-SignedProperties">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>sBlyyA+c4Gk5pMjprkaXQWiO54S4zYefKZ3uyAhD/4Q=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo><ds:SignatureValue Id="S0-SIG">
ULSFutc0fX+nqz5FkKZKexVtrsD4wTsKZcUYC+jU8P03iPE89oSWv7xoeTfZRRlRqUZTjINMT5yq9gaXWo/pFA==</ds:SignatureValue>
<ds:KeyInfo Id="S0-KeyInfo">
<ds:X509Data><ds:X509Certificate>MIIF1jCCA76gAwIBAgIQAjeRaJLVRMdZL99aR55h0TANBgkqhkiG9w0BAQsFADBj
MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
czEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxFzAVBgNVBAMMDkVTVEVJRC1TSyAy
MDE1MB4XDTE3MDYwMTA5MzMxNFoXDTIyMDYwMTIwNTk1OVowgZoxCzAJBgNVBAYT
AkVFMRswGQYDVQQKDBJFU1RFSUQgKE1PQklJTC1JRCkxGjAYBgNVBAsMEWRpZ2l0
YWwgc2lnbmF0dXJlMR4wHAYDVQQDDBVNVVNULEFBRFUsMzUxMDMyNTI3MTQxDTAL
BgNVBAQMBE1VU1QxDTALBgNVBCoMBEFBRFUxFDASBgNVBAUTCzM1MTAzMjUyNzE0
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEI66eCRmjgfzh11IQisWwR0CKfGYY
+KXpL8Wp7hNyCXHyevVmZfPEcWnxY9M3iRbr0My05W3D7FR9oVygzE9FRqOCAhcw
ggITMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQDAgZAMHMGA1UdIARsMGowXQYJKwYB
BAHOHwEDMFAwHQYIKwYBBQUHAgIwEQwPQ29udHJhY3QgMS4xMS05MC8GCCsGAQUF
BwIBFiNodHRwczovL3d3dy5zay5lZS9yZXBvc2l0b29yaXVtL0NQUzAJBgcEAIvs
QAECMB0GA1UdDgQWBBRjtnSQbEyNFpLQ/5zd52EgS/bP9zCBigYIKwYBBQUHAQME
fjB8MAgGBgQAjkYBATAIBgYEAI5GAQQwUQYGBACORgEFMEcwRRY/aHR0cHM6Ly9z
ay5lZS9lbi9yZXBvc2l0b3J5L2NvbmRpdGlvbnMtZm9yLXVzZS1vZi1jZXJ0aWZp
Y2F0ZXMvEwJFTjATBgYEAI5GAQYwCQYHBACORgEGATAfBgNVHSMEGDAWgBSzq4i8
mdVipIUqCM20HXI7g3JHUTB2BggrBgEFBQcBAQRqMGgwJwYIKwYBBQUHMAGGG2h0
dHA6Ly9haWEuc2suZWUvZXN0ZWlkMjAxNTA9BggrBgEFBQcwAoYxaHR0cHM6Ly9z
ay5lZS91cGxvYWQvZmlsZXMvRVNURUlELVNLXzIwMTUuZGVyLmNydDA8BgNVHR8E
NTAzMDGgL6AthitodHRwOi8vd3d3LnNrLmVlL2NybHMvZXN0ZWlkL2VzdGVpZDIw
MTUuY3JsMA0GCSqGSIb3DQEBCwUAA4ICAQBxq+Wy+RO1FlDhKMnooVm4WaRXtL9Y
IiuMryuoyN01clA2gweAD4Sa8c3Rzt8EoRqdoWvqDAwt3AvrjrWttwSQdbP8b3Al
uBId5j7jop4xt0ZDPld5gcaDemavMBCEZVOlpDzWPiZ8nxiHfjaR5o/sMEKjCjW4
T7n8RUnM3sr3JRSXTZtYBZgmiMeFig7oi348x4W2Dztn0MpycAKancrb959piK3f
nwuHNxd/ptTmA9pn+MB/vwlzJEeozuTcJ0f083ifejBdbg8DYPvdq/XmKpJ97Lvc
gvP01QcrhThpnV8rn0SeQ9k493aYmOUy3fjHH+dZGrzslz4gAjMtRQIi0XC1qpuu
eDEFLwi95CPZ6e/VBr26iCxDrHb1Y3uSox9ZuVSz2eLx4BAUQzVhDIIC3HjXBhap
OLNhuo234I3KEBSWxdLP6winSONaaqiIVDvicPwz3WLV1rLcQGuUBSQG8jpb3yGp
QJd+cJdE3OB6T8Ko5l6tER3PBf53VY5J2MI2ICu0DTT1Bn0yJTPm0g0vk/Y6zGDK
r3Ehyb09qnJnRQl/W/U6iJWMY4wQjNKJMHMUwJoKVGtySl8jUpY1IVM0RJBPhsqy
FyiUelwYmYhVxbMPHdwT9Osi0Dt7pPseQvYu2BcArIzISXOVOO0BJLCGyKBPIa98
R+NCqJyEz0Ltfw==</ds:X509Certificate></ds:X509Data></ds:KeyInfo>
<ds:Object Id="S0-object-xades"><xades:QualifyingProperties Id="S0-QualifyingProperties" Target="#S0" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"><xades:SignedProperties Id="S0-SignedProperties">
<xades:SignedSignatureProperties Id="S0-SignedSignatureProperties">
<xades:SigningTime>2019-12-20T08:40:24Z</xades:SigningTime>
<xades:SigningCertificate>
<xades:Cert>
<xades:CertDigest>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>wdTxx+frwDnSWdcBRnGZD+YbyfX2UPIZ8g2kJnouk1U=</ds:DigestValue>
</xades:CertDigest>
<xades:IssuerSerial>
<ds:X509IssuerName>CN=ESTEID-SK 2015,2.5.4.97=#0c0e4e545245452d3130373437303133,O=AS Sertifitseerimiskeskus,C=EE</ds:X509IssuerName>
<ds:X509SerialNumber>2946981553353315672823176122903454161</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
<xades:SignaturePolicyIdentifier>
<xades:SignaturePolicyId>
<xades:SigPolicyId>
<xades:Identifier Qualifier="OIDAsURN">
urn:oid:1.3.6.1.4.1.10015.1000.3.2.1</xades:Identifier>
</xades:SigPolicyId>
<xades:SigPolicyHash>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256">
</ds:DigestMethod>
<ds:DigestValue>3Tl1oILSvOAWomdI9VeWV6IA/32eSXRUri9kPEz1IVs=</ds:DigestValue>
</xades:SigPolicyHash>
<xades:SigPolicyQualifiers>
<xades:SigPolicyQualifier>
<xades:SPURI>
https://www.sk.ee/repository/bdoc-spec21.pdf</xades:SPURI>
</xades:SigPolicyQualifier>
</xades:SigPolicyQualifiers>
</xades:SignaturePolicyId>
</xades:SignaturePolicyIdentifier>

<xades:SignatureProductionPlace>
</xades:SignatureProductionPlace>

<xades:SignerRole>
<xades:ClaimedRoles>
<xades:ClaimedRole>Esimees</xades:ClaimedRole>
</xades:ClaimedRoles>
</xades:SignerRole>
</xades:SignedSignatureProperties>
<xades:SignedDataObjectProperties>
<xades:DataObjectFormat ObjectReference="#S0-ref-0">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-1">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-2">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-3">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-4">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-5">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
<xades:DataObjectFormat ObjectReference="#S0-ref-6">
<xades:MimeType>application/pdf</xades:MimeType>
</xades:DataObjectFormat>
</xades:SignedDataObjectProperties>
</xades:SignedProperties><xades:UnsignedProperties Id="S0-UnsigedProperties">
<xades:UnsignedSignatureProperties Id="S0-UnsigedSignatureProperties">
<xades:CertificateValues Id="S0-CertificateValues">
<xades:EncapsulatedX509Certificate Id="S0-CA_CERT1">
MIIGcDCCBVigAwIBAgIQRUgJC4ec7yFWcqzT3mwbWzANBgkqhkiG9w0BAQwFADB1
MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG
CSqGSIb3DQEJARYJcGtpQHNrLmVlMCAXDTE1MTIxNzEyMzg0M1oYDzIwMzAxMjE3
MjM1OTU5WjBjMQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVy
aW1pc2tlc2t1czEXMBUGA1UEYQwOTlRSRUUtMTA3NDcwMTMxFzAVBgNVBAMMDkVT
VEVJRC1TSyAyMDE1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0oH6
1NDxbdW9k8nLA1qGaL4B7vydod2Ewp/STBZB3wEtIJCLdkpEsS8pXfFiRqwDVsgG
Gbu+Q99trlb5LI7yi7rIkRov5NftBdSNPSU5rAhYPQhvZZQgOwRaHa5Ey+BaLJHm
LqYQS9hQvQsCYyws+xVvNFUpK0pGD64iycqdMuBl/nWq3fLuZppwBh0VFltm4nhr
/1S0R9TRJpqFUGbGr4OK/DwebQ5PjhdS40gCUNwmC7fPQ4vIH+x+TCk2aG+u3MoA
z0IrpVWqiwzG/vxreuPPAkgXeFCeYf6fXLsGz4WivsZFbph2pMjELu6sltlBXfAG
3fGv43t91VXicyzR/eT5dsB+zFsW1sHV+1ONPr+qzgDxCH2cmuqoZNfIIq+buob3
eA8ee+XpJKJQr+1qGrmhggjvAhc7m6cU4x/QfxwRYhIVNhJf+sKVThkQhbJ9XxuK
k3c18wymwL1mpDD0PIGJqlssMeiuJ4IzagFbgESGNDUd4icm0hQT8CmQeUm1GbWe
BYseqPhMQX97QFBLXJLVy2SCyoAz7Bq1qA43++EcibN+yBc1nQs2Zoq8ck9MK0bC
xDMeUkQUz6VeQGp69ImOQrsw46qTz0mtdQrMSbnkXCuLan5dPm284J9HmaqiYi6j
6KLcZ2NkUnDQFesBVlMEm+fHa2iR6lnAFYZ06UECAwEAAaOCAgowggIGMB8GA1Ud
IwQYMBaAFBLyWj7qVhy/zQas8fElyalL1BSZMB0GA1UdDgQWBBSzq4i8mdVipIUq
CM20HXI7g3JHUTAOBgNVHQ8BAf8EBAMCAQYwdwYDVR0gBHAwbjAIBgYEAI96AQIw
CQYHBACL7EABAjAwBgkrBgEEAc4fAQEwIzAhBggrBgEFBQcCARYVaHR0cHM6Ly93
d3cuc2suZWUvQ1BTMAsGCSsGAQQBzh8BAjALBgkrBgEEAc4fAQMwCwYJKwYBBAHO
HwEEMBIGA1UdEwEB/wQIMAYBAf8CAQAwQQYDVR0eBDowOKE2MASCAiIiMAqHCAAA
AAAAAAAAMCKHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCcGA1Ud
JQQgMB4GCCsGAQUFBwMJBggrBgEFBQcDAgYIKwYBBQUHAwQwfAYIKwYBBQUHAQEE
cDBuMCAGCCsGAQUFBzABhhRodHRwOi8vb2NzcC5zay5lZS9DQTBKBggrBgEFBQcw
AoY+aHR0cDovL3d3dy5zay5lZS9jZXJ0cy9FRV9DZXJ0aWZpY2F0aW9uX0NlbnRy
ZV9Sb290X0NBLmRlci5jcnQwPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL3d3dy5z
ay5lZS9yZXBvc2l0b3J5L2NybHMvZWVjY3JjYS5jcmwwDQYJKoZIhvcNAQEMBQAD
ggEBAHRWDGI3P00r2sOnlvLHKk9eE7X93eT+4e5TeaQsOpE5zQRUTtshxN8Bnx2T
oQ9rgi18q+MwXm2f0mrGakYYG0bix7ZgDQvCMD/kuRYmwLGdfsTXwh8KuL6uSHF+
U/ZTss6qG7mxCHG9YvebkN5Yj/rYRvZ9/uJ9rieByxw4wo7b19p22PXkAkXP5y3+
qK/Oet98lqwI97kJhiS2zxFYRk+dXbazmoVHnozYKmsZaSUvoYNNH19tpS7BLdsg
i9KpbvQLb5ywIMq9ut3+b2Xvzq8yzmHMFtLIJ6Afu1jJpqD82BUAFcvi5vhnP8M7
b974R18WCOpgNQvXDI+2/8ZINeU=</xades:EncapsulatedX509Certificate>
<xades:EncapsulatedX509Certificate Id="S0-RESPONDER_CERT">
MIIEvDCCA6SgAwIBAgIQcpyVmdruRVxNgzI3N/NZQTANBgkqhkiG9w0BAQUFADB1
MQswCQYDVQQGEwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1
czEoMCYGA1UEAwwfRUUgQ2VydGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYG
CSqGSIb3DQEJARYJcGtpQHNrLmVlMB4XDTExMDMxODEwMjE0M1oXDTI0MDMxODEw
MjE0M1owgZ0xCzAJBgNVBAYTAkVFMQ4wDAYDVQQIEwVIYXJqdTEQMA4GA1UEBxMH
VGFsbGlubjEiMCAGA1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czENMAsG
A1UECxMET0NTUDEfMB0GA1UEAxMWU0sgT0NTUCBSRVNQT05ERVIgMjAxMTEYMBYG
CSqGSIb3DQEJARYJcGtpQHNrLmVlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAihvGyhMVrgReHluKln1za6gvCE/mlSREmWjJFpL9llvuEUZoPFIypYA8
g5u1VfgkeW5gDq25jAOq4FyXeDGIa+pJn2h0o2Wc2aeppVG/emfGm/jA8jjeyMrw
H8fAJrqVQ7c9X2xSwJEch/P2d8CfMZt5YF6gqLtPvG1b+n6otBZA5wjIFfJ/inJB
MUvqHSz3+PLfxO2/T3Wyk/c8M9HIMqTelqyiMGRgWehiU1OsL9armv3dQrHs1wm6
vHaxfpfWB9YAFpeo9aYqhPCxVt/zo2NQB6vxyZS0hsOrXL7SxRToOJaqsnvlbf0e
rPPFtRHUvbojYYgl+fzlz0Jt6QJoNwIDAQABo4IBHTCCARkwEwYDVR0lBAwwCgYI
KwYBBQUHAwkwHQYDVR0OBBYEFKWhSGFt537NmJ50nCm7vYrecgxZMIGCBgNVHSAE
ezB5MHcGCisGAQQBzh8EAQIwaTA+BggrBgEFBQcCAjAyHjAAUwBLACAAdABpAG0A
ZQAgAHMAdABhAG0AcABpAG4AZwAgAHAAbwBsAGkAYwB5AC4wJwYIKwYBBQUHAgEW
G2h0dHBzOi8vd3d3LnNrLmVlL2FqYXRlbXBlbDAfBgNVHSMEGDAWgBQS8lo+6lYc
v80GrPHxJcmpS9QUmTA9BgNVHR8ENjA0MDKgMKAuhixodHRwOi8vd3d3LnNrLmVl
L3JlcG9zaXRvcnkvY3Jscy9lZWNjcmNhLmNybDANBgkqhkiG9w0BAQUFAAOCAQEA
w2sKwvTHtYGtD8Jw9mNUuj/mWiBSBEBeY2LhW8V6tjBPAPp3s6iWOh0FbVR2LUyr
qRwgT3fyWiGsiDm/6cIqM+IblLp/8ztfRQjquhW6XCD9SK02OQ9ZSdBwcmoAApZL
GXQC34wdgmV/hLTTNxONnDACBKz9U+Dy9a4ZT4tpNkbH8jq/BMne8FzbvRt1bjpX
BP7gjLX+zdx8/hp0Wq4tD+f9NVX0+vm9ahEKuzx4QzPnSB7hhWM9OnLZT7noRQa+
KWk5c+e5VoR5R2t7MjVl8Cd+2llxiSxqMSbU5/23BzAKgN+NQdrBZAzpZ7lfaAuL
FaICP+bAm6uW2JUrM6abOw==</xades:EncapsulatedX509Certificate>
</xades:CertificateValues>
<xades:RevocationValues Id="S0-RevocationValues">
<xades:OCSPValues><xades:EncapsulatedOCSPValue Id="N0">
MIIHWgoBAKCCB1MwggdPBgkrBgEFBQcwAQEEggdAMIIHPDCCAVyhgaAwgZ0xCzAJ
BgNVBAYTAkVFMQ4wDAYDVQQIEwVIYXJqdTEQMA4GA1UEBxMHVGFsbGlubjEiMCAG
A1UEChMZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czENMAsGA1UECxMET0NTUDEf
MB0GA1UEAxMWU0sgT0NTUCBSRVNQT05ERVIgMjAxMTEYMBYGCSqGSIb3DQEJARYJ
cGtpQHNrLmVlGA8yMDE5MTIyMDA4NDAzN1owYDBeMEkwCQYFKw4DAhoFAAQU/ycP
pUs92lD7/iLb2ohCQQ7zE+4EFLOriLyZ1WKkhSoIzbQdcjuDckdRAhACN5FoktVE
x1kv31pHnmHRgAAYDzIwMTkxMjIwMDg0MDM3WqFEMEIwQAYJKwYBBQUHMAECBDMw
MTANBglghkgBZQMEAgEFAAQgjgPEikDH3TdGkQJLlWHBsjYRKmDt80Rnh07j5B9Z
UIcwDQYJKoZIhvcNAQELBQADggEBAAMgn/SzZSF0QARw0NJgXutzAxZZvLFHCGj7
nTJSt/N6BVm3YyNSOgzN3lH+2EhUr1DcDxf4x93x2EwU2MjwRdeD8sBdJxXNPc+m
U4xMQVIkaKMKt7uEDjExfl6oceh35tEa5QNqeAoFaIy4ELTTyULm+nZcDFTn0RlY
xwOsOlnYcgTT7JIUoKmVrHEKAIcK7ToXdvI/8Nziczf1vFDdQl8syVlH1MmmLq5N
qVwE+8XCDdHn6ranXtf8mh3KJds02n2ViBDU8onMEDCGUK35mPLTi9eB5XTtxgyW
ZrTISlIjhjMJNozoFyyeqCW2ih4E1ntm4IC6SWDaP/VoLU6ZrnKgggTEMIIEwDCC
BLwwggOkoAMCAQICEHKclZna7kVcTYMyNzfzWUEwDQYJKoZIhvcNAQEFBQAwdTEL
MAkGA1UEBhMCRUUxIjAgBgNVBAoMGUFTIFNlcnRpZml0c2VlcmltaXNrZXNrdXMx
KDAmBgNVBAMMH0VFIENlcnRpZmljYXRpb24gQ2VudHJlIFJvb3QgQ0ExGDAWBgkq
hkiG9w0BCQEWCXBraUBzay5lZTAeFw0xMTAzMTgxMDIxNDNaFw0yNDAzMTgxMDIx
NDNaMIGdMQswCQYDVQQGEwJFRTEOMAwGA1UECBMFSGFyanUxEDAOBgNVBAcTB1Rh
bGxpbm4xIjAgBgNVBAoTGUFTIFNlcnRpZml0c2VlcmltaXNrZXNrdXMxDTALBgNV
BAsTBE9DU1AxHzAdBgNVBAMTFlNLIE9DU1AgUkVTUE9OREVSIDIwMTExGDAWBgkq
hkiG9w0BCQEWCXBraUBzay5lZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAIobxsoTFa4EXh5bipZ9c2uoLwhP5pUkRJloyRaS/ZZb7hFGaDxSMqWAPIOb
tVX4JHluYA6tuYwDquBcl3gxiGvqSZ9odKNlnNmnqaVRv3pnxpv4wPI43sjK8B/H
wCa6lUO3PV9sUsCRHIfz9nfAnzGbeWBeoKi7T7xtW/p+qLQWQOcIyBXyf4pyQTFL
6h0s9/jy38Ttv091spP3PDPRyDKk3pasojBkYFnoYlNTrC/Wq5r93UKx7NcJurx2
sX6X1gfWABaXqPWmKoTwsVbf86NjUAer8cmUtIbDq1y+0sUU6DiWqrJ75W39Hqzz
xbUR1L26I2GIJfn85c9CbekCaDcCAwEAAaOCAR0wggEZMBMGA1UdJQQMMAoGCCsG
AQUFBwMJMB0GA1UdDgQWBBSloUhhbed+zZiedJwpu72K3nIMWTCBggYDVR0gBHsw
eTB3BgorBgEEAc4fBAECMGkwPgYIKwYBBQUHAgIwMh4wAFMASwAgAHQAaQBtAGUA
IABzAHQAYQBtAHAAaQBuAGcAIABwAG8AbABpAGMAeQAuMCcGCCsGAQUFBwIBFhto
dHRwczovL3d3dy5zay5lZS9hamF0ZW1wZWwwHwYDVR0jBBgwFoAUEvJaPupWHL/N
Bqzx8SXJqUvUFJkwPQYDVR0fBDYwNDAyoDCgLoYsaHR0cDovL3d3dy5zay5lZS9y
ZXBvc2l0b3J5L2NybHMvZWVjY3JjYS5jcmwwDQYJKoZIhvcNAQEFBQADggEBAMNr
CsL0x7WBrQ/CcPZjVLo/5logUgRAXmNi4VvFerYwTwD6d7OoljodBW1Udi1Mq6kc
IE938lohrIg5v+nCKjPiG5S6f/M7X0UI6roVulwg/UitNjkPWUnQcHJqAAKWSxl0
At+MHYJlf4S00zcTjZwwAgSs/VPg8vWuGU+LaTZGx/I6vwTJ3vBc270bdW46VwT+
4Iy1/s3cfP4adFquLQ/n/TVV9Pr5vWoRCrs8eEMz50ge4YVjPTpy2U+56EUGvilp
OXPnuVaEeUdrezI1ZfAnftpZcYksajEm1Of9twcwCoDfjUHawWQM6We5X2gLixWi
Aj/mwJurltiVKzOmmzs=</xades:EncapsulatedOCSPValue>
</xades:OCSPValues></xades:RevocationValues></xades:UnsignedSignatureProperties>
</xades:UnsignedProperties></xades:QualifyingProperties></ds:Object>
</ds:Signature>
</asic:XAdESSignatures>

我需要从我前面提到的文件中获得签名者的证书和OCSP响应。下面是我用来获取签署者的证书和与证书有关的数据的代码(用Java编写):

    public static void main(String[] args) throws Exception {
            File xmlFile = new File("signatures0.xml");
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse(xmlFile);
            doc.getDocumentElement().normalize();
            NodeList nodeList = doc.getElementsByTagName("ds:X509Certificate");
            for (int itr = 0; itr < nodeList.getLength(); itr++) {
                Node node = nodeList.item(itr);
                String encodedBlock = node.getTextContent().replace("\n", "");
                byte[] decodedBlock = Base64.getDecoder().decode(encodedBlock.getBytes(StandardCharsets.UTF_8));
                ByteArrayInputStream inputStream = new ByteArrayInputStream(decodedBlock);

                CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
                X509Certificate cert = (X509Certificate) certFactory.generateCertificate(inputStream);
                System.out.println(cert.getIssuerDN());
                System.out.println(cert.getSubjectX500Principal().toString());
                System.out.println(cert.getPublicKey());
                cert.checkValidity();
            }

  }
java security digital-signature xml-signature
1个回答
0
投票
实际上,我不完全了解您的需求。但是,我认为要获得清晰的结构可以提取数据,最好使用pki协议库,例如openssl和Bouncy Castle。

这些开放源代码为您提供了将Base64编码的字符串转换为组织良好且易于使用的Class(s​​tructure)。

因此,请在您的项目中导入boundcy城堡,并使用下面提供的简单api。请注意,以下是一个示例,它可能会提供pem api。如果不是,则需要pem der转换。

https://www.programcreek.com/java-api-examples/?api=org.bouncycastle.asn1.ocsp.OCSPResponse

请检查

© www.soinside.com 2019 - 2024. All rights reserved.