-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathself-signed-certificate-maker.sh
48 lines (36 loc) · 1.42 KB
/
self-signed-certificate-maker.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash
####################
# 設定の読み込みなど
####################
# 設定項目の読み込み
source ./settings/setting.sh
# 出力先のディレクトリを作成する
mkdir $RESULTS
####################
# 証明書の発行など
####################
# 秘密鍵の生成
openssl genrsa -out $PRIVATE_KEY_NAME $PRIVATE_KEY_NUMBITS
# 証明書署名要求(CSR)の作成(-batchオプションで質問をスキップ)
openssl req -new -key $PRIVATE_KEY_NAME -out $CERTIFICATE_SIGNING_REQUEST_NAME -batch \
-addext "subjectAltName = DNS:${DNS}"
# オレオレ証明書の発行
openssl x509 -req -in $CERTIFICATE_SIGNING_REQUEST_NAME -signkey $PRIVATE_KEY_NAME -out $CERTIFICATE_NAME -days $EXPIRATION
# 証明書署名要求(CSR)の削除
rm $CERTIFICATE_SIGNING_REQUEST_NAME
####################
# 履歴の作成など
####################
# 履歴を使わない場合はここで終了
if [ $HISROY_USE -eq 0 ]
then
exit 0
fi
# history.csvが存在しない場合は、ファイルを作成してヘッダ行を追加する。
if [ ! -f $HISTORY ]
then
echo "発行時刻, 公開鍵暗号方式, 秘密鍵の長さ, 秘密鍵の暗号化, 証明書有効期限, 秘密鍵名, 証明書名" > $HISTORY
fi
# 履歴の作成
echo "${TODAY}, ${PUBLIC_KEY_CRYPTOSYSTEM}, ${PRIVATE_KEY_NUMBITS}, ${PRIVATE_KEY_ENCRYPTION}, ${EXPIRATION}, ${PRIVATE_KEY_NAME}, ${CERTIFICATE_NAME}" >> $HISTORY
exit 0