+
    Bi(                     	   R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI5 RtRtRt	Rt
]P                  P                  ]P                  P                  ]4      4      tR1R ltRtR	 tR
 tR t]R8X  Ed   ]P,                  ! RR7      t]P1                  R]	R7       ]P1                  R]R7       ]P3                  4       t]P6                  ! ]4       ]! ]RRR7      w  tt]! RR4      ;_uu_ 4       t]PA                  ]4       RRR4       ]! RR4      ;_uu_ 4       t]PA                  ]4       RRR4       ]!! R4       ]"! . R2O4       ]"! . R3O4       ]! RR4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]! RR4      ;_uu_ 4       t]PA                  ]4       RRR4       ]! ]4       ]! ]RRR7      w  tt]! RR4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]! ]RRR7      w  tt]! R R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]"! . R4O4       ]! ]RRR7      w  tt]! R!R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]! ]R"RR#R$7      w  tt]! R%R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       . R5Ot#]! ]R&RR'PI                  ]#4      R(7      w  tt]! R)R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       . R6Ot#]! ]R*RR'PI                  ]#4      R(7      w  tt]! R+R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]! ]R,RR-R.7      w  tt]! R/R4      ;_uu_ 4       t]PA                  ]4       ]PA                  ]4       RRR4       ]! 4        ]!! R04       ]! R4       ]! R 4       R# R#   + '       g   i     EL$; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     ELt; i  + '       g   i     EL>; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL}; i  + '       g   i     EL3; i  + '       g   i     L; i)7zOMake the custom certificate and private key files used by test_ssl
and friends.N)*20180829142316Z25251028142316Z140000a
  
    [ 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 = {days}
    default_crl_days = {days}
    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 = critical, CA:true
    keyUsage = critical, digitalSignature, keyCertSign, cRLSign

    c                 4   \        R V,           4       . p\        ^4       FF  p\        P                  ! RR7      ;_uu_ 4       pVP	                  VP
                  4       RRR4       KH  	  Vw  rp \        P                  VV\        V P                  V P                  R7      p\        V	R4      ;_uu_ 4       pVP                  V4       RRR4       RRRR	V P                  R
VRVRV	.pV'       d\   \        P                  ! RR7      ;_uu_ 4       pVP	                  VP
                  4       VP
                  pRRR4       VRX.,          pMVRVRRV
.,          p\        R.V,           4       V'       d$   RRV	RVRV
RRRRRRX.p\        R.V,           4       \        V
R4      ;_uu_ 4       pVP                  4       pRRR4       \        VR4      ;_uu_ 4       pVP                  4       pRRR4       XV3V F  p\        P                   ! V4       K  	  #   + '       g   i     EK  ; i  + '       g   i     ELi; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  T F  p\        P                   ! T4       K  	  i ; i)zcreating cert for F)deleteNhostname	extra_san	startdateenddatedayswreq-new-nodesz-days-newkey-keyout-config-out-extensionsz-x509opensslca-outdircadirz-policypolicy_anything-batch-infilesr)printrangetempfileNamedTemporaryFileappendnamereq_templateformatr   r   r   openwrite
check_callreadosremove)cmdlineargsr	   signr
   extkey	tempnamesifreq_file	cert_filekey_filer   argsreqfilecertr$   s   &&&&&&           3/usr/lib/python3.14/test/certdata/make_ssl_certs.pymake_cert_keyr;   z   s/   	

)*I1X((66!QVV$ 76  %.!H+!!''!! " 
 (C  AGGCL !vx+2B2B3	88% ,,E::a  (&& ; VW&&D ]C&)EEDI;%&8s	7,*gD 	{T)* )S!!Q668D "(C  A&&(C !SyDIIdO [ 766 !   ;::, "!   DIIdO s   H0AI6 6H(&I6 /I6 (H<6A4I6 *I;I6 I#(I6 H%(H9	3	I6 <I		I6 I 	I6 #I3	.I6 6!Jr   c                  :    \         P                  ! \        4       R # )N)shutilrmtree	TMP_CADIR     r:   	unmake_carB      s    
MM)rA   c                    \         P                  ! \        4       \        \         P                  P                  R R4      R4      ;_uu_ 4       p RRR4       \        \         P                  P                  R R4      R4      ;_uu_ 4       pVP                  R4       RRR4       \        \         P                  P                  R R4      R4      ;_uu_ 4       pVP                  R4       RRR4       \        \         P                  P                  R R	4      R
4      ;_uu_ 4       pVP                  R4       RRR4       \        P                  ! R
4      ;_uu_ 4       p\        P                  RR\        V P                  V P                  R7      pVP                  V4       VP                  4        \        P                  ! 4       ;_uu_ 4       pRRVP                  RRRRRRRVP                  RR.p\!        R.V,           4       RRVP                  RRRR\        RRR R!R"R#VP                  .p\!        R.V,           4       RRVP                  R$RR%.p\!        R.V,           4       RRR4       RRR4       \!        . R(O4       \"        P$                  ! R&R'4       R#   + '       g   i     ELR; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i))r   z	index.txta+Nzcrl.txt00zindex.txt.attrzw+zunique_subject = noserialr   zCB2D80995A69525B
zour-ca-server r   r   r   r   r   r   rsa:3072r   zpycakey.pemr   z-subjzG/C=XY/L=Castle Anthrax/O=Python Software Foundation CA/CN=our-ca-serverr   r   pycacert.pemr   r   z-keyfilez	-selfsignr   v3_car   z-gencrlzrevocation.crlcapath/ceff1710.0zcapath/b1930218.0)r   x509-inrI   r   rK   )r+   mkdirr?   r'   pathjoinr(   r!   r"   r%   r&   r   r   r   flushr$   r)   r=   copy)r-   r3   tr   r7   s   &    r:   make_carT      sF   HHY	bggll7;/	5	5 
6	bggll79-d	3	3q	 
4	bggll7#34T	:	:a	%& 
; 
bggll78,c	2	2a	$% 
3 
	$	$S	)	)Q!!$''!! " 
 	
		((**a9afffz}AFFfhD 	{T)*)QVVNHiQVVND 	{T)*)QVVY@PQD	{T)* + 
*6    KK#%89Q 
6	5	5	3	3	3	:	:	: 
3	2	2 +* 
*	)sV   J	J,K !KA1K;
BK(	"K;J)	,J=	 K	K%	(K83K;;L	c                     ^ RI p\        P                  ! VP                  V 4      4      p\	        V4       \        V R,           R4      ;_uu_ 4       p\	        W#R7       RRR4       R#   + '       g   i     R# ; i)    Nz
.referencer   )file)_sslpprintpformat_test_decode_certr   r'   )rO   rX   refdatar3   s   &   r:   write_cert_referencer]      sP    nnT33D9:G	'N	d\!3	'	'1g 
(	'	'	's   A''A8	__main__zOMake the custom certificate and private key files used by test_ssl and friends.)descriptionz--days)defaultz	--enddate	localhostreq_x509_extensions_simple)r/   zssl_cert.pemr   ssl_key.pemz5password protecting ssl_key.pem in ssl_key.passwd.pemkeycert.passwd.pemzkeycert.pemrD   fakehostnamezkeycert2.pemT)r.   keycert3.pemzkeycert4.pemzlocalhost-ecczparam:secp384r1.pem)r.   r0   zkeycertecc.pemallsans
)r.   r
   zallsans.pemidnsanszidnsans.pemnosanreq_x509_extensions_nosan)r.   r/   z	nosan.pemzVWriting out reference data for Lib/test/test_ssl.py and Lib/test/test_asyncio/utils.py)FrG   req_x509_extensions_fullrH   )	r   pkeyrM   rc   r   zssl_key.passwd.pem-aes256-passoutpass:somepass)	r   rm   rM   rc   r   rd   rn   ro   rp   )r   rL   z-outformpemrM   rf   r   z	cert3.pem)	z0otherName.1 = 1.2.3.4;UTF8:some other identifierz/otherName.2 = 1.3.6.1.5.2.2;SEQUENCE:princ_namezemail.1 = user@example.orgzDNS.2 = www.example.orgzdirName.1 = dir_sectzURI.1 = https://www.python.org/zIP.1 = 127.0.0.1z
IP.2 = ::1zRID.1 = 1.2.3.4.5)z'DNS.2 = xn--knig-5qa.idn.pythontest.netz6DNS.3 = xn--knigsgsschen-lcb0w.idna2003.pythontest.netz6DNS.4 = xn--knigsgchen-b4a3dun.idna2008.pythontest.netz,DNS.5 = xn--nxasmq6b.idna2003.pythontest.netz,DNS.6 = xn--nxasmm1c.idna2008.pythontest.net)%__doc__argparser+   rY   r=   r!   
subprocessr   enddate_defaultdays_defaultr%   rO   abspathdirname__file__herer;   r?   rB   rT   r]   __name__ArgumentParserparseradd_argument
parse_argsr-   chdirr9   r0   r'   r3   r(   r   r)   r
   rP   r@   rA   r:   <module>r      s'    	    	#fP 
wwrwwx013j 	*:Z z$$  2C  DF
,7
_=##%KHHTNk;<XYID#	nc	"	"a	 
#	mS	!	!Q	 
"	
ABvwvw	mS	!	!Q		 
" 
"D	)	)Q	 
* Kk>?[\ID#	nc	"	"a		 
# k;TBID#	nc	"	"a		 
# abk>EID#	nc	"	"a		 
# _45JID# 
	$	$		 
%I k94499U^K_`ID#	mS	!	!Q		 
"	I k94499U^K_`ID#	mS	!	!Q		 
" k7C^_ID#	k3		1		 
  K	
bc'({  
#	"	"	!	!	! 
"	!	! 
*	)	) 
#	"	"
 
#	"	" 
#	"	" 
%	$	$& 
"	!	!" 
"	!	!
 
 	s   *PP+#P?Q#Q'##Q;7#R#R# #R7>#S	#SP(	+P<	?Q	Q$	'Q8	;R	R 	#R4	7S	S	S/	