「認証局(CA)の設置とOpenVPN用証明書と鍵の生成」で躓く

1,944 views
Skip to first unread message

堀本正文

unread,
Nov 19, 2018, 6:02:56 PM11/19/18
to OpenVPN Japan Users Group
OpenVPN 2.6.4 の server を CentOS6.10にインストールしようとして


を拝見しなが進めておりましたが、件名にありますように「認証局(CA)の設置とOpenVPN用証明書と鍵の生成」の部分で躓いております。
「マスター認証機関(CA)の証明書と鍵の生成」以降におきまして、いくつかのスクリプトを動かすことになっていますが、これらのスクリプトが ドットで始まるのですが、所在がわかりません。
これらの存在するディレクトリはどこでしょうか?
また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
/etc/openvpn の配下でしょうか?

山崎 太郎

unread,
Nov 19, 2018, 9:05:10 PM11/19/18
to openvpn-japa...@googlegroups.com

こんにちは、やまざきです。

認証局の操作で使用するeasy-rsaは現在のOpenVPNには含まれなくなっています(別途インストールが必要になりました)。
現在のバージョンでの手順については拙著ブログでも扱っていますので、よろしければ参考にしてください。

https://yamatamemo.blogspot.com/2014/01/easy-rsa-3.html

# これもだいぶ前の記事ですので、現状とは少し変わっている可能性があります。

また、Windowsもご利用であれば、EasyRSAと同様の機能を持つ、認証局(CA)を管理するためのWindows用ツール「vpnux PKI Manager」をご提供していますので、こちらもご検討いただけるかと思います。

https://www.openvpn.jp/download/

> また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
> /etc/openvpn の配下でしょうか?

OpenVPN設定ファイルでフルパスで指定できるためどこに置いてもOKですが、一般的には /etc/openvpn に置くことが多いようです。
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-user...@googlegroups.com <mailto:openvpn-japan-user...@googlegroups.com> にメールを送信してください。
> その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

--
::: Taro Yamazaki [ ta...@plum-systems.co.jp ]
: <Blog> http://yamatamemo.blogspot.jp/
: <LinkedIn> http://www.linkedin.com/in/yamata
-------------------------------------------------------------
: Plum Systems Inc.
: 2-3-11-2F, Kurihira, Asao-ku,
: Kawasaki, Kanagawa
: http://www.plum-systems.co.jp/

堀本正文

unread,
Nov 20, 2018, 11:33:36 AM11/20/18
to OpenVPN Japan Users Group
ありがとうございます。

接続一歩手前まで行きました。
TLSの設定が違うみたいで、サーバー側で

Wed Nov 21 01:12:49 2018 TLS Error: incoming packet authentication failed from [AF_INET]218.xxx.xxx.xxx:33042
Wed Nov 21 01:13:06 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed

というメッセージが出力されてます。
もうちょっと調べてみます。

Server: 2.4.6  (CentOS) TLS ---> tls-auth /etc/openvpn/pki/private/ta.key 0
Client: 2.3.4  (Debian/Jessie)  TLS ---> 設定なし

2018年11月20日火曜日 11時05分10秒 UTC+9 山崎 太郎:

こんにちは、やまざきです。

認証局の操作で使用するeasy-rsaは現在のOpenVPNには含まれなくなっています(別途インストールが必要になりました)。
現在のバージョンでの手順については拙著ブログでも扱っていますので、よろしければ参考にしてください。

https://yamatamemo.blogspot.com/2014/01/easy-rsa-3.html

# これもだいぶ前の記事ですので、現状とは少し変わっている可能性があります。

また、Windowsもご利用であれば、EasyRSAと同様の機能を持つ、認証局(CA)を管理するためのWindows用ツール「vpnux PKI Manager」をご提供していますので、こちらもご検討いただけるかと思います。

https://www.openvpn.jp/download/

> また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
> /etc/openvpn の配下でしょうか?

OpenVPN設定ファイルでフルパスで指定できるためどこに置いてもOKですが、一般的には /etc/openvpn に置くことが多いようです。


On 2018/11/20 8:02, 堀本正文 wrote:
> OpenVPN 2.6.4 の server を CentOS6.10にインストールしようとして
>
> https://www.openvpn.jp/document/how-to/#Installing
>
> を拝見しなが進めておりましたが、件名にありますように「認証局(CA)の設置とOpenVPN用証明書と鍵の生成」の部分で躓いております。
> 「マスター認証機関(CA)の証明書と鍵の生成」以降におきまして、いくつかのスクリプトを動かすことになっていますが、これらのスクリプトが ドットで始まるのですが、所在がわかりません。
> これらの存在するディレクトリはどこでしょうか?
> また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
> /etc/openvpn の配下でしょうか?
>
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-users-group+unsub...@googlegroups.com <mailto:openvpn-japan-users-group+unsubscribe@googlegroups.com> にメールを送信してください。

山崎 太郎

unread,
Nov 20, 2018, 8:59:08 PM11/20/18
to openvpn-japa...@googlegroups.com

> Server: 2.4.6 (CentOS) TLS ---> tls-auth /etc/openvpn/pki/private/ta.key 0
> Client: 2.3.4 (Debian/Jessie) TLS ---> 設定なし

tls-auth の鍵はサーバーとクライアントの両方で同じファイルを指定してください。
共通鍵として使用する形になります。


On 2018/11/21 1:33, 堀本正文 wrote:
> ありがとうございます。
>
> 接続一歩手前まで行きました。
> TLSの設定が違うみたいで、サーバー側で
>
> Wed Nov 21 01:12:49 2018 TLS Error: incoming packet authentication failed from [AF_INET]218.xxx.xxx.xxx:33042
> Wed Nov 21 01:13:06 2018 Authenticate/Decrypt packet error: packet HMAC authentication failed
>
> というメッセージが出力されてます。
> もうちょっと調べてみます。
>
> Server: 2.4.6  (CentOS) TLS ---> tls-auth /etc/openvpn/pki/private/ta.key 0
> Client: 2.3.4  (Debian/Jessie)  TLS ---> 設定なし
>
> 2018年11月20日火曜日 11時05分10秒 UTC+9 山崎 太郎:
>
>
> こんにちは、やまざきです。
>
> 認証局の操作で使用するeasy-rsaは現在のOpenVPNには含まれなくなっています(別途インストールが必要になりました)。
> 現在のバージョンでの手順については拙著ブログでも扱っていますので、よろしければ参考にしてください。
>
> https://yamatamemo.blogspot.com/2014/01/easy-rsa-3.html <https://yamatamemo.blogspot.com/2014/01/easy-rsa-3.html>
>
> # これもだいぶ前の記事ですので、現状とは少し変わっている可能性があります。
>
> また、Windowsもご利用であれば、EasyRSAと同様の機能を持つ、認証局(CA)を管理するためのWindows用ツール「vpnux PKI Manager」をご提供していますので、こちらもご検討いただけるかと思います。
>
> https://www.openvpn.jp/download/ <https://www.openvpn.jp/download/>
>
> > また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
> > /etc/openvpn の配下でしょうか?
>
> OpenVPN設定ファイルでフルパスで指定できるためどこに置いてもOKですが、一般的には /etc/openvpn に置くことが多いようです。
>
>
> On 2018/11/20 8:02, 堀本正文 wrote:
> > OpenVPN 2.6.4 の server を CentOS6.10にインストールしようとして
> >
> > https://www.openvpn.jp/document/how-to/#Installing <https://www.openvpn.jp/document/how-to/#Installing>
> >
> > を拝見しなが進めておりましたが、件名にありますように「認証局(CA)の設置とOpenVPN用証明書と鍵の生成」の部分で躓いております。
> > 「マスター認証機関(CA)の証明書と鍵の生成」以降におきまして、いくつかのスクリプトを動かすことになっていますが、これらのスクリプトが ドットで始まるのですが、所在がわかりません。
> > これらの存在するディレクトリはどこでしょうか?
> > また、その後の設定ファイルの置き場所は、どこが適当なのでしょうか?
> > /etc/openvpn の配下でしょうか?
> >
> > --
> > このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> > このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-user...@googlegroups.com <javascript:> <mailto:openvpn-japan-user...@googlegroups.com <javascript:>> にメールを送信してください。
> > その他のオプションについては https://groups.google.com/d/optout <https://groups.google.com/d/optout> にアクセスしてください。
>
> --
> ::: Taro Yamazaki [ ta...@plum-systems.co.jp <javascript:> ]
> :    <Blog> http://yamatamemo.blogspot.jp/
> :    <LinkedIn> http://www.linkedin.com/in/yamata <http://www.linkedin.com/in/yamata>
> -------------------------------------------------------------
> : Plum Systems Inc.
> : 2-3-11-2F, Kurihira, Asao-ku,
> : Kawasaki, Kanagawa
> : http://www.plum-systems.co.jp/
>
> --
> このメールは Google グループのグループ「OpenVPN Japan Users Group」に登録しているユーザーに送られています。
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-user...@googlegroups.com <mailto:openvpn-japan-user...@googlegroups.com> にメールを送信してください。

堀本正文

unread,
Nov 22, 2018, 1:23:36 AM11/22/18
to OpenVPN Japan Users Group
ありがとうございます。
Serverで
openvpn --genkey --secret ta.key
として生成した ta.key を clientにもコピーして起動・接続してみました。
結果からするとまだ接続できません。
どうもta.keyの作り方が悪いのかな・・・

Server のメッセージ(ClientのIPアドレスはzzz.xxx.yyy.zzzと伏せています)

Thu Nov 22 14:44:36 2018 zzz.xxx.yyy.zzz:54750 TLS: Initial packet from [AF_INET]zzz.xxx.yyy.zzz:54750, sid=2bf7d730 5f1b850a
Thu Nov 22 14:44:38 2018 zzz.xxx.yyy.zzz:36838 TLS: Initial packet from [AF_INET]zzz.xxx.yyy.zzz:36838, sid=c5a2b0e8 2e02ca8c
Thu Nov 22 14:44:40 2018 zzz.xxx.yyy.zzz:45037 TLS: Initial packet from [AF_INET]zzz.xxx.yyy.zzz:45037, sid=efcd3f72 350b54ee
Thu Nov 22 14:44:42 2018 zzz.xxx.yyy.zzz:60407 TLS: Initial packet from [AF_INET]zzz.xxx.yyy.zzz:60407, sid=719ea60c 4e272284

一方 Client のメッセージ (ServerのIPアドレスは aaa.bbb.ccc.ddd と伏せています. CNも一部変更しています)

Thu Nov 22 15:11:06 2018 OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017
Thu Nov 22 15:11:06 2018 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
Thu Nov 22 15:11:06 2018 Control Channel Authentication: using '/etc/openvpn/pki/ta.key' as a OpenVPN static key file
Thu Nov 22 15:11:06 2018 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Nov 22 15:11:06 2018 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Nov 22 15:11:06 2018 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Nov 22 15:11:06 2018 UDPv4 link local: [undef]
Thu Nov 22 15:11:06 2018 UDPv4 link remote: [AF_INET] aaa.bbb.ccc.ddd:1194
Thu Nov 22 15:11:06 2018 TLS: Initial packet from [AF_INET]aaa.bbb.ccc.ddd:1194, sid=a910387f 2f65c6b7
Thu Nov 22 15:11:06 2018 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: CN=acloud.holy.com
Thu Nov 22 15:11:06 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Thu Nov 22 15:11:06 2018 TLS Error: TLS object -> incoming plaintext read error
Thu Nov 22 15:11:06 2018 TLS Error: TLS handshake failed
Thu Nov 22 15:11:06 2018 SIGUSR1[soft,tls-error] received, process restarting
Thu Nov 22 15:11:06 2018 Restart pause, 2 second(s)
Thu Nov 22 15:11:08 2018 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Nov 22 15:11:08 2018 UDPv4 link local: [undef]
Thu Nov 22 15:11:08 2018 UDPv4 link remote: [AF_INET]aaa.bbb.ccc.ddd:1194
Thu Nov 22 15:11:08 2018 TLS: Initial packet from [AF_INET]61.127.249.155:1194, sid=78c90700 0f819e71
Thu Nov 22 15:11:08 2018 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: CN=acloud.holy.com
Thu Nov 22 15:11:08 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Thu Nov 22 15:11:08 2018 TLS Error: TLS object -> incoming plaintext read error
Thu Nov 22 15:11:08 2018 TLS Error: TLS handshake failed
Thu Nov 22 15:11:08 2018 SIGUSR1[soft,tls-error] received, process restarting
Thu Nov 22 15:11:08 2018 Restart pause, 2 second(s)


2018年11月21日水曜日 10時59分08秒 UTC+9 山崎 太郎:

山崎 太郎

unread,
Nov 22, 2018, 1:53:19 AM11/22/18
to openvpn-japa...@googlegroups.com

トラブルシュートのため、いったんサーバー/クライアントの両方でTLSAuthなしで接続を検証してみてはいかがでしょうか?
それでつながるようでしたらTLSAuthの問題ですし、つながらなければ別の原因ということになります。

堀本正文

unread,
Nov 22, 2018, 2:10:53 AM11/22/18
to OpenVPN Japan Users Group
私も最初、そのように考えて

server側
#tls-auth /etc/openvpn/pki/private/ta.key 0

client側
#tls-auth /etc/openvpn/pki/ta.key 1

としてみました。
ところが、client側のメッセージとしてTLSが表示されて、どうしてもTLSを使わなければならないのか。
と思った次第です。
ちなみに、上のようにServer/Client双方ともコメント化して無効化しているつもりなのですが、
他にも設置する場所があるのでしょうか?


Thu Nov 22 16:08:06 2018 OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017
Thu Nov 22 16:08:06 2018 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
Thu Nov 22 16:08:06 2018 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Nov 22 16:08:06 2018 UDPv4 link local: [undef]
Thu Nov 22 16:08:06 2018 UDPv4 link remote: [AF_INET]aaa.bbb.ccc.ddd:1194
Thu Nov 22 16:08:06 2018 TLS: Initial packet from [AF_INET]aaa.bbb.ccc.ddd:1194, sid=99cabbf9 571b15d9
Thu Nov 22 16:08:06 2018 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: CN=acloud.holy.com
Thu Nov 22 16:08:06 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Thu Nov 22 16:08:06 2018 TLS Error: TLS object -> incoming plaintext read error
Thu Nov 22 16:08:06 2018 TLS Error: TLS handshake failed
Thu Nov 22 16:08:06 2018 SIGUSR1[soft,tls-error] received, process restarting
Thu Nov 22 16:08:06 2018 Restart pause, 2 second(s)



2018年11月22日木曜日 15時53分19秒 UTC+9 山崎 太郎:

トラブルシュートのため、いったんサーバー/クライアントの両方でTLSAuthなしで接続を検証してみてはいかがでしょうか?
それでつながるようでしたらTLSAuthの問題ですし、つながらなければ別の原因ということになります。

山崎 太郎

unread,
Nov 22, 2018, 2:22:31 AM11/22/18
to openvpn-japa...@googlegroups.com

「TLS」とエラーには出ますが、これは必ずしもTLSAuthに関係するとは限らず、SSL/TLSをベースにしたものなので、認証関連ではよく出てきます。今回のログからすると証明書関連の問題の可能性が高そうです。

● サーバー/クライアントで正しい(同一の)CA証明書を共有しているか?
● サーバー/クライアントでで正しい(同一の)CA証明書で署名した証明書を使用しているか?
● CA、サーバー、クライアントでそれぞれ正しく別個のCN(共通名)を指定しているか?

よくあるトラブルの原因としてはこのあたりです。
再度、サーバー証明書とクライアント証明書をセットで作り直してみるのもよいかもしれません。

TLSAuthはセキュリティの観点から使用を推奨されてはいますが、必須ではありません。
TLSAuthなしでもVPN自体は運用可能です。

堀本正文

unread,
Nov 22, 2018, 2:31:13 AM11/22/18
to OpenVPN Japan Users Group
本当にありがとうございます。

そうなのでね、
  • サーバで作成したCA証明書 (ca.key)をクライアントにコピーしています。
  • 同じCA証明書で署名した証明書を使っているつもりですが、クライアント側の証明書の署名はサーバ上でおこない、scpでコピーしています。クライアント側の証明書はクライアント上で署名する必要があるのでしょうか?
  • CNはログの通り、acloud.holy.comとして同じものをCA,server,clinetに使っていますが、別個(異なる)名称にする必要があったのですか!

2018年11月22日木曜日 16時22分31秒 UTC+9 山崎 太郎:

堀本正文

unread,
Nov 22, 2018, 2:50:57 AM11/22/18
to OpenVPN Japan Users Group
あ。
ちょっとca.crtの指定で間違いがあるかも。
修正してためしてみます!!!

2018年11月22日木曜日 16時31分13秒 UTC+9 堀本正文:

堀本正文

unread,
Nov 22, 2018, 6:32:46 AM11/22/18
to OpenVPN Japan Users Group
[easy-rsa 3 で認証局を構築する]を再度良く読んでkeyやcrtを作り直して、ta.keyなしで起動してみました。
やはり、エラーが発生して接続できません。

Thu Nov 22 20:19:08 2018 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=a418715b d622b08c
Thu Nov 22 20:19:08 2018 VERIFY OK: depth=1, CN=Easy-RSA CA
Thu Nov 22 20:19:08 2018 VERIFY nsCertType ERROR: CN=farmem, require nsCertType=SERVER
Thu Nov 22 20:19:08 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Thu Nov 22 20:19:08 2018 TLS Error: TLS object -> incoming plaintext read error
Thu Nov 22 20:19:08 2018 TLS Error: TLS handshake failed
Thu Nov 22 20:19:08 2018 SIGUSR1[soft,tls-error] received, process restarting
Thu Nov 22 20:19:08 2018 Restart pause, 2 second(s)
Thu Nov 22 20:19:10 2018 Socket Buffers: R=[163840->131072] S=[163840->131072]
Thu Nov 22 20:19:10 2018 UDPv4 link local: [undef]
Thu Nov 22 20:19:10 2018 UDPv4 link remote: [AF_INET]xxx.xxx.xxx.xxx:1194

山崎さまが過去に紹介されている記事も拝読いたしましたが、最初っからつながらない私の場合にはlastconファイルなどの問題ではなさそうですし、、、
ca.keyが異なる。ということですが、easyrsa配下のpkiディレクトリの中にはprivate/ca.keyが1つしかありません。これを元にserverの証明書とclientの証明書を作っていると自分では思っているのですが、何か別の場所の秘密鍵をつかっているのかな。。

クライアントとサーバのOpenVPNのバージョンの違いに問題があるのでしょうか?

Server: OpenVPN 2.4.6 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [MH/PKTINFO] [AEAD] built on Nov 20 2018
Client: OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017

鍵、証明書はすべてServer上で作ってscpでclientにコピーしています。



2018年11月22日木曜日 16時50分57秒 UTC+9 堀本正文:
あ。
ちょっとca.crtの指定で間違いがあるかも。
修正してためしてみます!!!


堀本正文

unread,
Nov 22, 2018, 6:44:18 AM11/22/18
to OpenVPN Japan Users Group
OpenSSLとの関係があると伺ったので、opensslコマンドでCAfileのverifyを行ってみました。

farmem.crt == Server側の証明書ファイル
opi195.crt  == Client側の証明書ファイル

[server]# openssl verify -CAfile ca.crt issued/farmem.crt 
issued/farmem.crt: CN = farmem
error 20 at 0 depth lookup:unable to get local issuer certificate
[server]# openssl verify -CAfile ca.crt issued/opi195.crt
issued/opi195.crt: OK

client側はOKなのに対して、Server側はエラーだ。

# ./easyrsa init-pki
# ./easyrsa build-ca
# ./easyrsa gen-dh
# ./easyrsa build-server-full farmem nopass
# ./easyrsa build-client-full opi195 nopass

この順番で生成しているんだけどなぁ。
caファイルを途中でいじったりもしていない。

堀本正文

unread,
Nov 22, 2018, 9:08:28 AM11/22/18
to OpenVPN Japan Users Group
もしかして、
/usr/lib/ssl/openssl.cnf
ファイルの中身を参照しているのかな。

2018年11月22日木曜日 20時44分18秒 UTC+9 堀本正文:

堀本正文

unread,
Nov 23, 2018, 2:23:03 AM11/23/18
to OpenVPN Japan Users Group
ファイル名も同じにして、openssl verifyでca.crtとserver.crtやclient.crtをverifyしましたがOKでした。
それでも、接続時にclient側には、

Fri Nov 23 16:20:00 2018 VERIFY OK: depth=1, CN=Easy-RSA CA
Fri Nov 23 16:20:00 2018 VERIFY nsCertType ERROR: CN=server1, require nsCertType=SERVER
Fri Nov 23 16:20:00 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Fri Nov 23 16:20:00 2018 TLS Error: TLS object -> incoming plaintext read error
Fri Nov 23 16:20:00 2018 TLS Error: TLS handshake failed

というメッセージが出力されて、つながりません。
ダメですね~。
OpenVPN以外の方法を考えてみることにします。


2018年11月22日木曜日 23時08分28秒 UTC+9 堀本正文:

山崎 太郎

unread,
Nov 23, 2018, 3:59:54 AM11/23/18
to openvpn-japa...@googlegroups.com

> Fri Nov 23 16:20:00 2018 VERIFY nsCertType ERROR: CN=server1, require nsCertType=SERVER

直接関係あるかはちょっとわかりませんが、もしかしたらサーバー側の証明書を build-client-full で作成されてますか?
もしそうでしたらサーバー側は build-server-full で作成してみてください。
そうしないと、証明書内の nsCertType プロパティがSERVERにならないので、検証寺にエラーになります。

堀本正文

unread,
Nov 23, 2018, 9:04:35 AM11/23/18
to OpenVPN Japan Users Group
historyを確認しました。
すべて、Server上で実行しています。

 1142  ./easyrsa init-pki
 1143  ./easyrsa build-ca
 1144  ./easyrsa gen-dh
 1145  ./easyrsa build-server-full server1 nopass
 1146  ./easyrsa build-client-full client1 nopass

このあと、ca.crt,client1.crt,client1.keyをClientマシンへ、ca.crt,ca.key,server1.crt,server1.key,dh.pemをServerの各々の /etc/openvpn/pki の配下においておきました。
それで、このエラーです。

2018年11月23日金曜日 17時59分54秒 UTC+9 山崎 太郎:
> このグループから退会し、グループからのメールの配信を停止するには openvpn-japan-users-group+unsub...@googlegroups.com <mailto:openvpn-japan-users-group+unsubscribe@googlegroups.com> にメールを送信してください。

堀本正文

unread,
Dec 4, 2018, 10:26:16 AM12/4/18
to OpenVPN Japan Users Group
その後、すこし変化がありましたので、ご報告致します。
サーバ側は、CentOS6.10  OpenVPN 2.4.6 で変わらず。鍵・証明書は以前のまま。クライアントにインストールする鍵も証明書もサーバ上で作成する。
TLSは明示的にconfigファイルで無効化した。

クライアント側
×(1)   RaspberryPi B2+  Debian 7.11 OpenVPN-2.2.1-8+deb7u5
×(2)   OrangePi ONE  Debian Jessie OpenVPN 2.3.4 arm-unknown-linux-gnueabihf
○(3)   OrangePi ONE  Ubuntu 18.04.1 LTS openvpn/bionic-updates,now 2.4.4-2ubuntu1.1
×(4)   RaspberryPi B2+  Debian Jessie OpenVPN 2.3.4 arm-unknown-linux-gnueabihf

(3)Ubuntu 18.04.1(bionic)だとうまくいきました。
同じ流れのeasyrsaオペレーションで作った個別のクライアント機の鍵類。
(1)では、
Tue Dec  4 22:30:05 2018 VERIFY OK: depth=1, /CN=Easy-RSA_CA
Tue Dec  4 22:30:05 2018 VERIFY nsCertType ERROR: /CN=server1, require nsCertType=SERVER
Tue Dec  4 22:30:05 2018 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Tue Dec  4 22:30:05 2018 TLS Error: TLS object -> incoming plaintext read error
Tue Dec  4 22:30:05 2018 TLS Error: TLS handshake failed
Tue Dec  4 22:30:05 2018 TCP/UDP: Closing socket
Tue Dec  4 22:30:05 2018 SIGUSR1[soft,tls-error] received, process restarting
Tue Dec  4 22:30:05 2018 Restart pause, 2 second(s)
Tue Dec  4 22:30:07 2018 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables

このようなエラーがでてました。
Reply all
Reply to author
Forward
0 new messages