python (3.12.0)
͑e$ d Z ddlZddlZddlZddlZddl dZdZdZej j ej j e Z
d0dZdZd Zd
Zd Zedk( r ej( e
ed
d \ ZZ edd 5 Zej3 e ddd edd 5 Zej3 e ddd ed eg d eg d edd 5 Zej3 e ej3 e ddd edd 5 Zej3 e ddd e edd \ ZZ edd 5 Zej3 e ej3 e ddd ed
d \ ZZ edd 5 Zej3 e ej3 e ddd edd \ ZZ edd 5 Zej3 e ej3 e ddd eddd ! \ ZZ ed"d 5 Zej3 e ej3 e ddd g d#Z ed$dd%j; e & \ ZZ ed'd 5 Zej3 e ej3 e ddd g d(Z ed)dd%j; e & \ ZZ ed*d 5 Zej3 e ej3 e ddd ed+dd,- \ ZZ ed.d 5 Zej3 e ej3 e ddd e ed/ ed ed yy# 1 sw Y xY w# 1 sw Y xY w# 1 sw Y `xY w# 1 sw Y JxY w# 1 sw Y xY w# 1 sw Y xY w# 1 sw Y xY w# 1 sw Y rxY w# 1 sw Y *xY w# 1 sw Y xY w# 1 sw Y xY w)1zOMake the custom certificate and private key files used by test_ssl
and friends. N)*20180829142316Z20371028142316Za
[ default ]
base_url = http://testca.pythontest.net/testca
[req]
distinguished_name = req_distinguished_name
prompt = no
[req_distinguished_name]
C = XY
L = Castle Anthrax
O = Python Software Foundation
CN = {hostname}
[req_x509_extensions_nosan]
[req_x509_extensions_simple]
subjectAltName = @san
[req_x509_extensions_full]
subjectAltName = @san
keyUsage = critical,keyEncipherment,digitalSignature
extendedKeyUsage = serverAuth,clientAuth
basicConstraints = critical,CA:false
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
authorityInfoAccess = @issuer_ocsp_info
crlDistributionPoints = @crl_info
[ issuer_ocsp_info ]
caIssuers;URI.0 = $base_url/pycacert.cer
OCSP;URI.0 = $base_url/ocsp/
[ crl_info ]
URI.0 = $base_url/revocation.crl
[san]
DNS.1 = {hostname}
{extra_san}
[dir_sect]
C = XY
L = Castle Anthrax
O = Python Software Foundation
CN = dirname example
[princ_name]
realm = EXP:0, GeneralString:KERBEROS.REALM
principal_name = EXP:1, SEQUENCE:principal_seq
[principal_seq]
name_type = EXP:0, INTEGER:1
name_string = EXP:1, SEQUENCE:principals
[principals]
princ1 = GeneralString:username
[ ca ]
default_ca = CA_default
[ CA_default ]
dir = cadir
database = $dir/index.txt
crlnumber = $dir/crl.txt
default_md = sha256
startdate = {startdate}
default_startdate = {startdate}
enddate = {enddate}
default_enddate = {enddate}
default_days = 7000
default_crl_days = 7000
certificate = pycacert.pem
private_key = pycakey.pem
serial = $dir/serial
RANDFILE = $dir/.rand
policy = policy_match
[ policy_match ]
countryName = match
stateOrProvinceName = optional
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true
c t d| z g }t d D ]<