ocspreqdump.py 813 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python
  2. #
  3. # This file is part of pyasn1-modules software.
  4. #
  5. # Copyright (c) 2005-2019, Ilya Etingof <etingof@gmail.com>
  6. # License: http://snmplabs.com/pyasn1/license.html
  7. #
  8. # Read ASN.1/PEM X.509 CRMF request on stdin, parse into
  9. # plain text, then build substrate from it
  10. #
  11. import sys
  12. from pyasn1.codec.der import decoder
  13. from pyasn1.codec.der import encoder
  14. from pyasn1_modules import pem
  15. from pyasn1_modules import rfc2560
  16. if len(sys.argv) != 1:
  17. print("""Usage:
  18. $ cat ocsp-request.pem | %s""" % sys.argv[0])
  19. sys.exit(-1)
  20. ocspReq = rfc2560.OCSPRequest()
  21. substrate = pem.readBase64FromFile(sys.stdin)
  22. if not substrate:
  23. sys.exit(0)
  24. cr, rest = decoder.decode(substrate, asn1Spec=ocspReq)
  25. print(cr.prettyPrint())
  26. assert encoder.encode(cr) == substrate, 'OCSP request recode fails'