echo=on | |
rem set ssleay=..\out\ssleay | |
set ssleay=%1 | |
set reqcmd=%ssleay% req | |
set x509cmd=%ssleay% x509 | |
set verifycmd=%ssleay% verify | |
set CAkey=keyCA.ss | |
set CAcert=certCA.ss | |
set CAserial=certCA.srl | |
set CAreq=reqCA.ss | |
set CAconf=..\test\CAss.cnf | |
set CAreq2=req2CA.ss | |
set Uconf=..\test\Uss.cnf | |
set Ukey=keyU.ss | |
set Ureq=reqU.ss | |
set Ucert=certU.ss | |
echo make a certificate request using 'req' | |
%reqcmd% -config %CAconf% -out %CAreq% -keyout %CAkey% -new | |
if errorlevel 1 goto err_req | |
echo convert the certificate request into a self signed certificate using 'x509' | |
%x509cmd% -CAcreateserial -in %CAreq% -days 30 -req -out %CAcert% -signkey %CAkey% >err.ss | |
if errorlevel 1 goto err_x509 | |
echo -- | |
echo convert a certificate into a certificate request using 'x509' | |
%x509cmd% -in %CAcert% -x509toreq -signkey %CAkey% -out %CAreq2% >err.ss | |
if errorlevel 1 goto err_x509_2 | |
%reqcmd% -verify -in %CAreq% -noout | |
if errorlevel 1 goto err_verify_1 | |
%reqcmd% -verify -in %CAreq2% -noout | |
if errorlevel 1 goto err_verify_2 | |
%verifycmd% -CAfile %CAcert% %CAcert% | |
if errorlevel 1 goto err_verify_3 | |
echo -- | |
echo make another certificate request using 'req' | |
%reqcmd% -config %Uconf% -out %Ureq% -keyout %Ukey% -new >err.ss | |
if errorlevel 1 goto err_req_gen | |
echo -- | |
echo sign certificate request with the just created CA via 'x509' | |
%x509cmd% -CAcreateserial -in %Ureq% -days 30 -req -out %Ucert% -CA %CAcert% -CAkey %CAkey% -CAserial %CAserial% | |
if errorlevel 1 goto err_x509_sign | |
%verifycmd% -CAfile %CAcert% %Ucert% | |
echo -- | |
echo Certificate details | |
%x509cmd% -subject -issuer -startdate -enddate -noout -in %Ucert% | |
echo Everything appeared to work | |
echo -- | |
echo The generated CA certificate is %CAcert% | |
echo The generated CA private key is %CAkey% | |
echo The current CA signing serial number is in %CAserial% | |
echo The generated user certificate is %Ucert% | |
echo The generated user private key is %Ukey% | |
echo -- | |
del err.ss | |
goto end | |
:err_req | |
echo error using 'req' to generate a certificate request | |
goto end | |
:err_x509 | |
echo error using 'x509' to self sign a certificate request | |
goto end | |
:err_x509_2 | |
echo error using 'x509' convert a certificate to a certificate request | |
goto end | |
:err_verify_1 | |
echo first generated request is invalid | |
goto end | |
:err_verify_2 | |
echo second generated request is invalid | |
goto end | |
:err_verify_3 | |
echo first generated cert is invalid | |
goto end | |
:err_req_gen | |
echo error using 'req' to generate a certificate request | |
goto end | |
:err_x509_sign | |
echo error using 'x509' to sign a certificate request | |
goto end | |
:end |