Windows batch file for key generation.
authorcantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 5 Feb 2008 23:17:30 +0000 (23:17 +0000)
committercantor <cantor@cb58f699-b61c-0410-a6fe-9272a202ed29>
Tue, 5 Feb 2008 23:17:30 +0000 (23:17 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-sp/trunk@2722 cb58f699-b61c-0410-a6fe-9272a202ed29

configs/Makefile.am
configs/keygen.bat [new file with mode: 0644]

index 308256b..167b0d5 100644 (file)
@@ -124,4 +124,5 @@ EXTRA_DIST = \
        shibd-redhat.in \
        shibd-debian.in \
        shibd-osx.plist.in \
-       $(CONFIGFILES)
+       $(CONFIGFILES) \
+       keygen.bat
diff --git a/configs/keygen.bat b/configs/keygen.bat
new file mode 100644 (file)
index 0000000..c14974c
--- /dev/null
@@ -0,0 +1,62 @@
+@echo off\r
+setlocal\r
+\r
+if exist %~p0sp-key.pem goto protect\r
+if exist %~p0sp-cert.pem goto protect\r
+\r
+set DAYS=\r
+set FQDN=\r
+set TEMP_DOMAIN_NAME=\r
+set PARAM=\r
+\r
+:opt_start\r
+set PARAM=%1\r
+if not defined PARAM goto opt_end\r
+if %1==-cn goto opt_fqdn\r
+if %1==-years goto opt_years\r
+goto usage\r
+:opt_end\r
+\r
+if not defined DAYS set DAYS=10\r
+set /a DAYS=%DAYS%*365\r
+\r
+if not defined FQDN goto guess_fqdn\r
+\r
+:generate\r
+set PATH=%~p0..\..\lib;%~p0..\..\bin\r
+%~p0..\..\bin\openssl.exe req -x509 -days %DAYS% -newkey rsa:2048 -nodes -keyout %~p0sp-key.pem -out %~p0sp-cert.pem -subj /CN=%FQDN% -config %~p0openssl.cnf -extensions usr_cert -set_serial 0\r
+exit /b\r
+\r
+:protect\r
+echo The files sp-key.pem and/or sp-cert.pem already exist!\r
+exit /b\r
+\r
+:opt_fqdn\r
+set FQDN=%2\r
+shift\r
+shift\r
+goto opt_start\r
+\r
+:opt_years\r
+set DAYS=%2\r
+shift\r
+shift\r
+goto opt_start\r
+\r
+:usage\r
+echo usage: keygen [-cn cert common name to use] [-years years to issue cert]\r
+exit /b\r
+\r
+:guess_fqdn\r
+for /F "tokens=2 delims=:" %%i in ('"ipconfig /all | findstr /c:"Primary DNS Suffix""') do set TEMP_DOMAIN_NAME=%%i\r
+if defined TEMP_DOMAIN_NAME set FQDN=%TEMP_DOMAIN_NAME: =%\r
+set TEMP_DOMAIN_NAME=\r
+if defined USERDNSDOMAIN set FQDN=%USERDNSDOMAIN%\r
+\r
+for /F %%i in ('hostname') do set HOST=%%i\r
+if defined FQDN (set FQDN=%HOST%.%FQDN%) else (set FQDN=%HOST%)\r
+\r
+echo >%FQDN%\r
+for /F %%i in ('dir /b/l %FQDN%') do set FQDN=%%i\r
+del %FQDN%\r
+goto generate\r