make_certs.bat 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. @echo off
  2. REM We need admin rights, otherwise the random state cannot be written
  3. REM Thanks to http://stackoverflow.com/a/10052222/1531708
  4. :: BatchGotAdmin
  5. :-------------------------------------
  6. REM --> Check for permissions
  7. IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
  8. >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
  9. ) ELSE (
  10. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  11. )
  12. REM --> If error flag set, we do not have admin.
  13. if '%errorlevel%' NEQ '0' (
  14. echo Requesting administrative privileges...
  15. goto UACPrompt
  16. ) else ( goto gotAdmin )
  17. :UACPrompt
  18. echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
  19. set params = %*:"=""
  20. echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
  21. "%temp%\getadmin.vbs"
  22. del "%temp%\getadmin.vbs"
  23. exit /B
  24. :gotAdmin
  25. pushd "%CD%"
  26. CD /D "%~dp0"
  27. :--------------------------------------
  28. del server.*
  29. c:\OpenSSL-Win32\bin\openssl.exe genrsa -des3 -out server.key 4096
  30. c:\OpenSSL-Win32\bin\openssl.exe req -sha256 -new -key server.key -out server.csr -utf8
  31. copy server.key server.key.orig
  32. c:\OpenSSL-Win32\bin\openssl.exe rsa -in server.key.orig -out server.key
  33. echo [ v3_ca ] > server.ext.txt
  34. echo [ req ] >> server.ext.txt
  35. echo req_extensions = my_extensions >> server.ext.txt
  36. echo [ my_extensions ] >> server.ext.txt
  37. echo extendedKeyUsage=serverAuth >> server.ext.txt
  38. echo crlDistributionPoints=URI:http://localhost/crl.pem >> server.ext.txt
  39. c:\OpenSSL-Win32\bin\openssl.exe x509 -req -days 365 -extensions v3_ca -extfile server.ext.txt -in server.csr -signkey server.key -out server.crt
  40. copy server.crt server.pem
  41. type server.key >> server.pem