I would like to get the certs for this timestamp response, this is a microsoft authenticode timestamp response. This is somewhat same like this Export Time stamp 'signing_time' from signed data in asn1 format but for certificates and the response data I'm getting is base64 encoded. I tried to parse this using https://lapo.it/asn1js/ and I'm getting the response but when I tried to parse it using my python code I'm getting pyAsn1 Error.
Timestamp Response to Parse:
MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgEwgAYJKoZIhvcNAQcBoIAEIA4lNQ51FpGu
P+E0rDqgvveRFxvoGD8OWCVGA2kZnLflAAAAAKCAMIIGaDCCBFCgAwIBAgIQAUiQPcKKvKehGU0MHFe4
KTANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEx
MC8GA1UEAxMoR2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBTSEEzODQgLSBHNDAeFw0yMjA0MDYw
NzQxNThaFw0zMzA1MDgwNzQxNThaMGMxCzAJBgNVBAYTAkJFMRkwFwYDVQQKDBBHbG9iYWxTaWduIG52
LXNhMTkwNwYDVQQDDDBHbG9iYWxzaWduIFRTQSBmb3IgTVMgQXV0aGVudGljb2RlIEFkdmFuY2VkIC0g
RzQwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDCydwDthtQ+ioN6JykIdsopx31gLUSdCP+
Xi/DGl2WsiAZGVBfdiMmNcYh7JTvtaI6xZCBmyHvCyek4xdkO9qT1FYvPNdY+W2swC+QeCNJwPjBj3AT
1GvfJohadntI9+Gkpu8LGvMlVA+AniMSEhPRsPcC4ysN/0A+AEJD3hrvTPSHqfKePNAG5+Jj0utMW91d
WJTT5aU5KKoHXnYjMPz8f5gNxWVtG9V0RTpGsKIWdd6iwipwfLZ2vNkbrrpdnPaHlc6qqOK1o7GTbkCl
mxCIdhZONKH8nvHhGlTRyCRXlHatwsfso6OWdeLGKGsCBehLubXgUit4AYwqMSxM6AXlb58PhCYuaGz6
y00ZfBjB/2oaqcu+o3X46cgYsszdL0FAIBzPiAsXybCKQ8via5NR8RG+Qrz4UfLaAAK+CBgoBSfE3Dtd
dykeGdRBKmZ9tFJzXEKlkNONxaOqN85zAZQkGUJD0ZSPS37dy228G057+aoLIktJgElwGy1P3jRgPr0C
AwEAAaOCAZ4wggGaMA4GA1UdDwEB/wQEAwIHgDAWBgNVHSUBAf8EDDAKBggrBgEFBQcDCDAdBgNVHQ4E
FgQUW2t79HB0CMENKsjv8cS5QNJKxv0wTAYDVR0gBEUwQzBBBgkrBgEEAaAyAR4wNDAyBggrBgEFBQcC
ARYmaHR0cHM6Ly93d3cuZ2xvYmFsc2lnbi5jb20vcmVwb3NpdG9yeS8wDAYDVR0TAQH/BAIwADCBkAYI
KwYBBQUHAQEEgYMwgYAwOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2NhL2dz
dHNhY2FzaGEzODRnNDBDBggrBgEFBQcwAoY3aHR0cDovL3NlY3VyZS5nbG9iYWxzaWduLmNvbS9jYWNl
cnQvZ3N0c2FjYXNoYTM4NGc0LmNydDAfBgNVHSMEGDAWgBTqFsZp5+PLV0U5M6TwQL7Qw71lljBBBgNV
HR8EOjA4MDagNKAyhjBodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL2NhL2dzdHNhY2FzaGEzODRnNC5j
cmwwDQYJKoZIhvcNAQELBQADggIBAC5rPo9/sLBg2fGdhNyVtt9fDb8kUeMaBqpVBMthwe9lca4L/ZQk
VwDH5PYMvBiVfS8ZamAzpr7QCFVWBLbj/h675RB2VDurXCFeKjVNRsumTLoEQGBgLNvT9p3eyjIQDHiw
u1bFB0twvKcPq3K8jcvr7sFMa9n6mKF0PumoyHl8dndI/c/j8A3B6cOS4AcMEy8/a3812dW37m98WMDx
PwwZsgKjSUycBMPwtJen4E1qJbo0FmJmyHi8aXOqX3KiNVgeJuu/MhSqEnrr9JZrf3Ks6qc5CDMBNj5h
JH4RnREediJU40C7LoYMdp5p0sQcPaILjIgEA1Te6RsX/iwrntnWWyI4/GRAhs0Xf+Gpn7m/kkGobyZq
9A8osECRkC9OtnZQvE0j2X9Pa5Mpp2zn0DA+qZMfwlArOcWy+E0nJNH9dti++ZP0qVQK1XZY0Tye6hro
JMT7NvEvWdOSw+zLYFIeHEYlCP9+2ZOuFJWohooHLlSLc0w3FThQVofxT64cj8mhbC8L/Lscby29qrbr
aCPw7ZQnFGPLrPRniiyB0xQSGAE/hHqu7EdgP2hYmclKwqGZFQXCrd6i79enVXy8hBtNlLuOSoVE2YE9
qqMlVV+ka802bAD5/3LeWuz/yaBBlhpAaoWRHK91Y6jLWjO1lDN+so0Pc76H/K86cx97INtyMIIGWTCC
BEGgAwIBAgINAewckkDe/S5AXXxHdDANBgkqhkiG9w0BAQwFADBMMSAwHgYDVQQLExdHbG9iYWxTaWdu
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
/QAAAAAAAA==
This is what I tried so far:
reference: https://github.com/ralphje/signify/blob/master/signify/pkcs7/signeddata.py#L79 I was thinking maybe if I can get the data I can just manipulate it to get to the certs. Thanks a lot!
from pyasn1.codec.der import decoder
from pyasn1_modules import rfc2315
from base64 import *
def parse_tsr(tsr):
"""Parse into a TimeStampResp.
:param tsr: the timestamp-reply bytes to parse.
:type tsr: a byte string.
:returns: a tuple with a TimeStampResp object and any unparsed remainder.
"""
content, rest = decoder.decode(tsr, asn1Spec=rfc2315.ContentInfo())
data = decoder.decode(content['content'], asn1Spec=rfc2315.SignedData())
return data