1*ebfedea0SLionel Sambuc@echo off 2*ebfedea0SLionel Sambuc 3*ebfedea0SLionel Sambucrem set ssleay=..\out\ssleay 4*ebfedea0SLionel Sambucset ssleay=%1 5*ebfedea0SLionel Sambuc 6*ebfedea0SLionel Sambucset reqcmd=%ssleay% req 7*ebfedea0SLionel Sambucset x509cmd=%ssleay% x509 -sha1 8*ebfedea0SLionel Sambucset verifycmd=%ssleay% verify 9*ebfedea0SLionel Sambuc 10*ebfedea0SLionel Sambucset CAkey=keyCA.ss 11*ebfedea0SLionel Sambucset CAcert=certCA.ss 12*ebfedea0SLionel Sambucset CAserial=certCA.srl 13*ebfedea0SLionel Sambucset CAreq=reqCA.ss 14*ebfedea0SLionel Sambucset CAconf=..\test\CAss.cnf 15*ebfedea0SLionel Sambucset CAreq2=req2CA.ss 16*ebfedea0SLionel Sambuc 17*ebfedea0SLionel Sambucset Uconf=..\test\Uss.cnf 18*ebfedea0SLionel Sambucset Ukey=keyU.ss 19*ebfedea0SLionel Sambucset Ureq=reqU.ss 20*ebfedea0SLionel Sambucset Ucert=certU.ss 21*ebfedea0SLionel Sambuc 22*ebfedea0SLionel Sambucecho make a certificate request using 'req' 23*ebfedea0SLionel Sambuc%reqcmd% -config %CAconf% -out %CAreq% -keyout %CAkey% -new 24*ebfedea0SLionel Sambucif errorlevel 1 goto e_req 25*ebfedea0SLionel Sambuc 26*ebfedea0SLionel Sambucecho convert the certificate request into a self signed certificate using 'x509' 27*ebfedea0SLionel Sambuc%x509cmd% -CAcreateserial -in %CAreq% -days 30 -req -out %CAcert% -signkey %CAkey% >err.ss 28*ebfedea0SLionel Sambucif errorlevel 1 goto e_x509 29*ebfedea0SLionel Sambuc 30*ebfedea0SLionel Sambucecho -- 31*ebfedea0SLionel Sambucecho convert a certificate into a certificate request using 'x509' 32*ebfedea0SLionel Sambuc%x509cmd% -in %CAcert% -x509toreq -signkey %CAkey% -out %CAreq2% >err.ss 33*ebfedea0SLionel Sambucif errorlevel 1 goto e_x509_2 34*ebfedea0SLionel Sambuc 35*ebfedea0SLionel Sambuc%reqcmd% -verify -in %CAreq% -noout 36*ebfedea0SLionel Sambucif errorlevel 1 goto e_vrfy_1 37*ebfedea0SLionel Sambuc 38*ebfedea0SLionel Sambuc%reqcmd% -verify -in %CAreq2% -noout 39*ebfedea0SLionel Sambucif errorlevel 1 goto e_vrfy_2 40*ebfedea0SLionel Sambuc 41*ebfedea0SLionel Sambuc%verifycmd% -CAfile %CAcert% %CAcert% 42*ebfedea0SLionel Sambucif errorlevel 1 goto e_vrfy_3 43*ebfedea0SLionel Sambuc 44*ebfedea0SLionel Sambucecho -- 45*ebfedea0SLionel Sambucecho make another certificate request using 'req' 46*ebfedea0SLionel Sambuc%reqcmd% -config %Uconf% -out %Ureq% -keyout %Ukey% -new >err.ss 47*ebfedea0SLionel Sambucif errorlevel 1 goto e_req_gen 48*ebfedea0SLionel Sambuc 49*ebfedea0SLionel Sambucecho -- 50*ebfedea0SLionel Sambucecho sign certificate request with the just created CA via 'x509' 51*ebfedea0SLionel Sambuc%x509cmd% -CAcreateserial -in %Ureq% -days 30 -req -out %Ucert% -CA %CAcert% -CAkey %CAkey% -CAserial %CAserial% 52*ebfedea0SLionel Sambucif errorlevel 1 goto e_x_sign 53*ebfedea0SLionel Sambuc 54*ebfedea0SLionel Sambuc%verifycmd% -CAfile %CAcert% %Ucert% 55*ebfedea0SLionel Sambucecho -- 56*ebfedea0SLionel Sambucecho Certificate details 57*ebfedea0SLionel Sambuc%x509cmd% -subject -issuer -startdate -enddate -noout -in %Ucert% 58*ebfedea0SLionel Sambuc 59*ebfedea0SLionel Sambucecho Everything appeared to work 60*ebfedea0SLionel Sambucecho -- 61*ebfedea0SLionel Sambucecho The generated CA certificate is %CAcert% 62*ebfedea0SLionel Sambucecho The generated CA private key is %CAkey% 63*ebfedea0SLionel Sambucecho The current CA signing serial number is in %CAserial% 64*ebfedea0SLionel Sambuc 65*ebfedea0SLionel Sambucecho The generated user certificate is %Ucert% 66*ebfedea0SLionel Sambucecho The generated user private key is %Ukey% 67*ebfedea0SLionel Sambucecho -- 68*ebfedea0SLionel Sambuc 69*ebfedea0SLionel Sambucdel err.ss 70*ebfedea0SLionel Sambuc 71*ebfedea0SLionel Sambucgoto end 72*ebfedea0SLionel Sambuc 73*ebfedea0SLionel Sambuc:e_req 74*ebfedea0SLionel Sambucecho error using 'req' to generate a certificate request 75*ebfedea0SLionel Sambucgoto end 76*ebfedea0SLionel Sambuc:e_x509 77*ebfedea0SLionel Sambucecho error using 'x509' to self sign a certificate request 78*ebfedea0SLionel Sambucgoto end 79*ebfedea0SLionel Sambuc:e_x509_2 80*ebfedea0SLionel Sambucecho error using 'x509' convert a certificate to a certificate request 81*ebfedea0SLionel Sambucgoto end 82*ebfedea0SLionel Sambuc:e_vrfy_1 83*ebfedea0SLionel Sambucecho first generated request is invalid 84*ebfedea0SLionel Sambucgoto end 85*ebfedea0SLionel Sambuc:e_vrfy_2 86*ebfedea0SLionel Sambucecho second generated request is invalid 87*ebfedea0SLionel Sambucgoto end 88*ebfedea0SLionel Sambuc:e_vrfy_3 89*ebfedea0SLionel Sambucecho first generated cert is invalid 90*ebfedea0SLionel Sambucgoto end 91*ebfedea0SLionel Sambuc:e_req_gen 92*ebfedea0SLionel Sambucecho error using 'req' to generate a certificate request 93*ebfedea0SLionel Sambucgoto end 94*ebfedea0SLionel Sambuc:e_x_sign 95*ebfedea0SLionel Sambucecho error using 'x509' to sign a certificate request 96*ebfedea0SLionel Sambucgoto end 97*ebfedea0SLionel Sambuc 98*ebfedea0SLionel Sambuc:end 99