自己証明書をいろんな形式で出力するスクリプトを書いてみた

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

はじめに

みなさんこんにちは。サイオステクノロジーのNakayaです。
みなさんは自己証明書を利用する機会はありますでしょうか?
自己証明書は様々な形式があり、システム側で拡張子の指定があったりと、少々面倒があります。
そこで今回は色々な形式で自己証明書を作成するシェルスクリプトを作成したのでそれを紹介しようと思います。

スクリプト

早速ですがスクリプトの全容です。
#!/bin/bash
# PFXキーのパスワード 
export PFX_PASS='' 
# 証明書の日数
CERT_DAY='7300'
# 証明書のCN
CERT_CN='oreore.dummy.invalid'
# 出力する鍵の名前
FILE_NAME='server'


# key
openssl genrsa 4096 > $FILE_NAME.key
# pem(private)
openssl rsa -in $FILE_NAME.key -outform PEM -out $FILE_NAME-key.pem
#------------------------------------------------------------
# Country Name (2 letter code) [AU]:
# State or Province Name (full name) [Some-State]:
# Locality Name (eg, city) []:
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:
# Organizational Unit Name (eg, section) []:
# Common Name (e.g. server FQDN or YOUR name) []:
# Email Address []:
#
# Please enter the following 'extra' attributes
# to be sent with your certificate request
# A challenge password []:
# An optional company name []:
#------------------------------------------------------------
openssl req -new -x509 -days $CERT_DAY -key $FILE_NAME.key <<EOF > $FILE_NAME.crt
.
.
.
.
.
$CERT_CN


EOF

# cer
cp -pv $FILE_NAME.crt $FILE_NAME.cer
# pfx(pkcs12)
openssl pkcs12 -export -inkey $FILE_NAME.key -in $FILE_NAME.crt -out $FILE_NAME.pfx -passout env:PFX_PASS
# der
openssl x509 -in $FILE_NAME.crt -out $FILE_NAME.der -outform DER
# pem(certificate)
openssl x509 -in $FILE_NAME.der -inform DER -out $FILE_NAME-cert.pem -outform pem

スクリプトの説明

pfxキーのパスワードを定義します。
# PFXキーのパスワード 
export PFX_PASS='pfxキーのパスワード'
自己証明書の有効期限の日数を定義します。
7300だと約20年です。
# 証明書の日数
CERT_DAY='7300'
証明書のCNを定義します。
# 証明書のCN
CERT_CN='oreore.dummy.invalid'

スクリプトの実行方法

↑に貼り付けてあるスクリプトをコピーして保存します。今回の例ではファイル名をcreate-self-cert.shとしています。

vim ./create-self-cert.sh
bash ./create-self-cert.sh

おわりに

このスクリプトで全ての形式を網羅できているわけではないですが、大体よく使われるものに関してはあるかと思います。
よければ使ってもらえると嬉しいです。m(_ _)m

 

アバター画像
About Nakaya 5 Articles
2021年サイオステクノロジーに新卒入社。
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる