SSL 인증서 발급을 자동화하고 명령화
6976 단어 ShellScriptSSL 인증서Bash
했던 일
자주 SSL 인증서를 만들어야하기 때문에 하나씩 입력하는 것은 번거롭고 명령화되었습니다.
명령 화 절차 → 【초간단】1분만에 독자적인 커맨드를 만들어 보자(Mac·Linux)
설정
아래의 쉘 스크립트를
mycsc
라는 이름으로 커멘드화해 둔다(코드 상단의 정보를 자신의 것으로 다시 작성하십시오)
mycsc.sh
#!/bin/bash
#mycsc csc = create SSL Sertificate
#---実行前に下記の情報を入力してください(全て英語で)--------------------
COUNTRY="国 日本ならJP"
PROVINCE="都道府県"
LOCALITY="市町村"
ORGANIZATION="会社名"
ORGANIZATION_UNITNAME="所属部署名"
COMMON_NAME="自分の名前"
EMAIL="メールアドレス"
#---------------------------------------------------
#すでに.sslディレクトリが存在すれば削除
if [[ -e ./.ssl ]]; then
rm -r .ssl
fi
#.sslディレクトリ作成 & 移動
mkdir .ssl && cd .ssl
#20文字のパスワード生成
password=`openssl rand -base64 12 | fold -w 20 | head -1`
#opensslコマンドを実行し、情報を自動入力する
expect -c "
set timeout 3
spawn openssl req -x509 -newkey rsa:2048 -keyout keytmp.pem -out cert.pem -days 365
expect \"Enter PEM pass phrase:\" {
send \"${password}\n\"
exp_continue
} \"Country Name\" {
send \"${COUNTRY}\n\"
exp_continue
} \"State or Province Name\" {
send \"${PROVINCE}\n\"
exp_continue
} \"Locality Name\" {
send \"${LOCALITY}\n\"
exp_continue
} \"Organization Name\" {
send \"${ORGANIZATION}\n\"
exp_continue
} \"Organizational Unit Name\" {
send \"${ORGANIZATION_UNITNAME}\n\"
exp_continue
} \"Common Name\" {
send \"${COMMON_NAME}\n\"
exp_continue
} \"Email Address\" {
send \"${EMAIL}\n\"
exp_continue
} timeout {
exit 1
}
"
if [ $? -eq 1 ]; then
echo "入力がタイムアウトしkeytemp.pemを作成できませんでした。情報が正しいか確認してください"
exit
fi
#opensslコマンドを実行し、情報を自動入力
expect -c "
set timeout 3
spawn openssl rsa -in keytmp.pem -out key.pem
expect \"Enter pass phrase for keytmp.pem\" {
send \"${password}\n\"
exp_continue
} timeout {
exit 1
}
"
if [ $? -eq 1 ]; then
echo "入力がタイムアウトしkey.pemを作成できませんでした。keytemp.pemとcert.pemを削除します"
rm keytemp.pem cert.pem
exit
fi
#keytemp.pemを削除し完了
rm keytmp.pem
echo "SSL証明書発行完了しました!"
사용법
SSL 인증서를 발급하려는 디렉토리로 이동하여 mycsc
Reference
이 문제에 관하여(SSL 인증서 발급을 자동화하고 명령화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/KazukiOkada/items/41ee99b604ee7b13d71c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SSL 인증서 발급을 자동화하고 명령화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/KazukiOkada/items/41ee99b604ee7b13d71c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)