|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/21571/root/usr/share/doc/m2crypto-0.16/demo/x509/ |
Upload File : |
#!/usr/bin/python
"""X.509 certificate manipulation and such.
Copyright (c) 1999-2003 Ng Pheng Siong. All rights reserved."""
import os
from M2Crypto import X509
from M2Crypto.EVP import MessageDigest
def demo1():
print 'Test 1: As DER...'
cert1 = X509.load_cert('server.pem')
der1 = cert1.as_der()
dgst1 = MessageDigest('sha1')
dgst1.update(der1)
print 'Using M2Crypto:\n', `dgst1.final()`, '\n'
cert2 = os.popen('openssl x509 -inform pem -outform der -in server.pem')
der2 = cert2.read()
dgst2 = MessageDigest('sha1')
dgst2.update(der2)
print 'Openssl command line:\n', `dgst2.final()`, '\n'
def demo2():
print 'Test 2: As text...'
cert = X509.load_cert('client2.pem')
print 'version ', cert.get_version()
print 'serial# ', cert.get_serial_number()
print 'not before ', cert.get_not_before()
print 'not after ', cert.get_not_after()
issuer = cert.get_issuer()
#print 'issuer ', issuer
print 'issuer.C ', `issuer.C`
print 'issuer.SP ', `issuer.SP`
print 'issuer.L ', `issuer.L`
print 'issuer.O ', `issuer.O`
print 'issuer.OU ', `issuer.OU`
print 'issuer.CN ', `issuer.CN`
print 'issuer.Email', `issuer.Email`
print 'subject ', cert.get_subject()
#print cert.as_text(), '\n'
def demo3():
cert = X509.load_cert('server.pem')
while 1:
x = cert.get_subject()
if __name__ == "__main__":
#demo1()
demo2()
#demo3()