5
(c) by Michael Stroeder <michael@stroeder.com>
7
This CGI-BIN program shows a pretty index of the CA definitions in
8
OpenSSL's config file (e.g. named openssl.cnf)
13
import os, sys, types, string, pycacnf, openssl, htmlbase
15
from pycacnf import opensslcnf, pyca_section
17
nsGetCertUrl = pyca_section.get('nsGetCertUrl','')
18
nsViewCertUrl = pyca_section.get('nsViewCertUrl','')
19
nsEnrollUrl = pyca_section.get('nsEnrollUrl','')
21
ca_names = opensslcnf.sectionkeys.get('ca',[])
24
htmlbase.PrintErrorMsg('No certificate authorities found.')
27
htmlbase.PrintHeader('Overview of certificate authorities')
28
htmlbase.PrintHeading('Overview of certificate authorities')
29
print """<TABLE BORDER WIDTH=100%>
32
<TH COLSPAN=2>CA certificate</TH>
33
<TH COLSPAN=2>CRL</TH>
34
<TH>certificate<BR>types</TH>
40
for ca_name in ca_names:
41
ca = opensslcnf.getcadata(ca_name)
42
if nsEnrollUrl and ca.isclientcert():
43
nsCertTypeStr = '<A HREF="%s%s/%s">%s</A>' % (ca.nsBaseUrl,nsEnrollUrl,ca_name,ca.nsCertTypeStr)
46
nsCertTypeStr = '%s' % (ca.nsCertTypeStr)
48
nsCertTypeStr = ' '
49
if ca.nsCaRevocationUrl:
50
nsCaRevocationUrl='<A HREF="%s%s">load</A>' % (ca.nsBaseUrl,ca.nsCaRevocationUrl)
51
nsViewRevocationUrl='<A HREF="%s%s/%s/crl">view</A>' % (ca.nsBaseUrl,nsViewCertUrl,ca_name)
53
nsCaRevocationUrl = ' '
54
nsViewRevocationUrl = ' '
56
nsCaPolicyUrl='<A HREF="%s%s">Policy of %s</A>' % (ca.nsBaseUrl,ca.nsCaPolicyUrl,ca_name)
63
<TD><A HREF="%s%s/%s/ca.crt">load</A></TD>
64
<TD><A HREF="%s%s/%s/ca">view</A></TD>
88
print '<A HREF="cert-query.py">Search for issued certificates.</A>'
90
htmlbase.PrintFooter()