質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

Q&A

解決済

1回答

3270閲覧

OpenSSL クライアント証明書の作成方法について

teketeke

総合スコア46

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

OpenSSL

OpenSSLはSSL/TLSのプロトコルと一般的な暗号のライブラリを導入するオープンソースのソフトウェアのツールキットです。

0グッド

0クリップ

投稿2017/03/29 02:18

###前提・実現したいこと
vyosのOpenVPNの設定を共通化する為、
1箇所で作成したca.crt、server.crt、dh1024.pem、server.keyを各vyosに配布し、
クライアントからvyosにopenvpnクライアントで接続できることを確認しました。
※OpenVPN設定は以下を参照
http://qiita.com/Mitsu-Murakita/items/fb23bd7fc7214aabfd48

現在、クライアント証明書の作成を都度vyos上で作成するのではなく、別のCentOS上で作成できないかと考えております。

Opensslでクライアント証明書作成をスクリプトで自動化しようとしているのですが、以下のようなことが可能か御存じのかたはいらっしゃいますでしょうか。

1.vyos上で作成された以下のCA情報をCentOS 7に配置する。
CA証明書-ca.crt
CA秘密鍵-ca.key
2.CentOS 7上で上記CA証明書、CA秘密鍵を使ってクライアント証明書を作成する。

###発生している問題・エラーメッセージ
自動化については、以下のサイトにCSR作成を自動化している事例があったので、クライアント証明書を自動で作成することは可能だと思っているのですが、クライアント証明書作成時に、取得してきたvyosのCA証明書、秘密鍵を指定する方法がわからず、スクリプトの検証ができていない状態となります。

指定のCA証明書、秘密鍵を指定する方法はあるのでしょうか。

■参考サイト
https://blog.cles.jp/item/6243
https://blog.cles.jp/item/5738

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

vyosと別のCentOSとは、物理的にどの様な配置になっていますでしょうか?

  1. ネットワークで繋がっている? データはlocal経由? グローバル経由?
  2. ネットに繋がっていない? データはUSBメモリ等渡し?

1.vyos上で作成された以下のCA情報をCentOS 7に配置する。
CA証明書-ca.crt
CA秘密鍵-ca.key

VPNサーバー構築(OpenVPN)
を、ざっと見たところ、
/root/easy-rsa-master/easyrsa3/pki/private/
にca.crt,ca.keyを置いて、
『← CA秘密鍵のパスフレーズを応答』
が効けば、可能ではなかろうかと思います。

だめなら、

2.CentOS 7上で上記CA証明書、CA秘密鍵を使ってクライアント証明書を作成する。

して、逆配送することになると思います。

クライアント証明書の作成を都度vyos上で作成する

ところで、クライアント証明書って「都度作成」する様なものでしたっけ?
数年に一度「サーバ・クライアント証明書対」を作成するものではなかったでしたっけ?

『その数年に一度でも「サーバ・クライアント証明書対」が面倒なんです』
と言われれば『そうですね』と、同意はします。

投稿2017/03/29 05:08

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

teketeke

2017/03/29 06:34

回答頂きありがとうございます。 物理的にはグローバル経由でつなげています。 > ところで、クライアント証明書って「都度作成」する様なものでしたっけ? OpenVPN接続するユーザ毎に証明書を作成して配布する、という要件があり、最悪3桁のユーザを作成することになる為、スクリプトにしようとした次第です。 手動ではありますが、以下のコマンドで作成したファイルを使って、OpenVPNクライアントから接続できることを確認できました。 なので、以下のコマンドをスクリプトで自動化するように作成してみます。 ```bash openssl genrsa -out cert.key 2048 openssl req -new -key cert.key -out cert.csr openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in cert.csr -out cert.crt ```
退会済みユーザー

退会済みユーザー

2017/03/29 06:40

「都度」ではなく「VPNユーザ数」。確かに、VPNではそうですね。100~1000クライアントですか。スクリプト化しないと、とてもじゃないけど、対応できませんね。納得です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問