オープンソース

サーバー構築のデージーネットTOP > OSS情報 > 一押しOSS > OSSのプライベート認証局 OpenXPKI > OpenXPKIのインストール

OpenXPKIのインストール

認証局を構築するためOpenXPKIをインストールする場合、公式サイトでDebian/Ubuntu用のパッケージが配布されています。ここでは、Debian Jessieへのインストール方法を解説します。

aptリポジトリの設定

OpenXPKIをインストールするために、aptリポジトリの設定とキーのインストールを行います。

# echo "deb http://packages.openxpki.org/debian/ jessie release" > /etc/apt/sources.list.d/openxpki.list ⏎
# aptitude update ⏎
無視    http://ftp.riken.jp jessie InRelease
発見  http://ftp.riken.jp jessie-updates InRelease            
発見  http://ftp.riken.jp jessie Release.gpg
発見  http://ftp.riken.jp jessie Release
発見  http://ftp.riken.jp jessie-updates/main Sources
 :
100%  [作業中/packages.openxpki.org jessie/release Translation-ja
無視    http://packages.openxpki.org jessie/release Translation-en
20.2 kB を 6秒 秒で取得しました (3,288 B/s)                                     
現在の状態: 新規が 15 個 [+15]。
# wget http://packages.openxpki.org/debian/Release.key -O - | apt-key add - ⏎
--2017-08-03 17:34:25--  http://packages.openxpki.org/debian/Release.key
packages.openxpki.org (packages.openxpki.org) をDNSに問いあわせています... 82.135.58.39
packages.openxpki.org (packages.openxpki.org)|82.135.58.39|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
:
OK

MySQL、Apacheのインストール

OpenXPKIで認証局を構築する際、バックエンドとしてMySQLを使用します。また、WEBインタフェースのために、apache2-serverとmod-fcgiが必要です。各ソフトウェアをインストールします。

# aptitude install mysql-server libdbd-mysql-perl apache2 libapache2-mod-fcgid ⏎
以下の新規パッケージがインストールされます:
  apache2-bin{a} libaio1{a} libapache2-mod-fcgid libapr1{a} libaprutil1{a} 
  libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} libdbd-mysql-perl 
  libdbi-perl{a} libhtml-template-perl{a} liblua5.1-0{a} 
  libmysqlclient18{a} libterm-readkey-perl{a} mysql-client-5.5{a} 
  mysql-common{a} mysql-server mysql-server-5.5{a} mysql-server-core-5.5{a} 
更新: 0 個、新規インストール: 18 個、削除: 0 個、保留: 0 個。
10.2 M バイトのアーカイブを取得する必要があります。展開後に 102 M バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y ⏎
取得: 1 http://security.debian.org/ jessie/updates/main mysql-common all 5.5.57-0+deb8u1 [84.2 kB]
取得: 2 http://ftp.riken.jp/Linux/debian/debian/ jessie/main libaio1 amd64 0.3.110-1 [9,312 B]
 :

次に、fcgiモジュールを有効化します。

# a2enmod fcgid ⏎
Enabling module fcgid.
To activate the new configuration, you need to run:
  service apache2 restart

ApacheとMySQLを起動しておきます。

# systemctl start apache2.service ⏎
# systemctl start mysql.service ⏎

OpenXPKIのインストール

次のように、パッケージをインストールします。

# aptitude install libopenxpki-perl openxpki-i18n ⏎
以下の新規パッケージがインストールされます:
  libappconfig-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} 
  :
  libyaml-libyaml-perl{a} libyaml-perl{a} make{a} openxpki-i18n 
更新: 0 個、新規インストール: 155 個、削除: 0 個、保留: 0 個。12.7 M バイトのアーカイブを取得する必要があります。展開後に 45.9 M バイトのディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y ⏎

MySQLデータベースの設定

MySQLに接続して、OpenXPKI用のデータベースとユーザを作成します。

$ mysql -u root -p ⏎
Enter password: ******** ⏎
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 44
Server version: 5.5.57-0+deb8u1 (Debian)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE openxpki CHARSET utf8; ⏎
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'openxpki'@'localhost' IDENTIFIED BY 'openxpki'; ⏎
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON openxpki.* TO 'openxpki'@'localhost'; ⏎
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges; ⏎
Query OK, 0 rows affected (0.00 sec)

mysql> Bye ⏎

OpenXPKIのパッケージに含まれているスキーマを使って、テーブルを作成します。

# zcat /usr/share/doc/libopenxpki-perl/examples/schema-mysql.sql.gz | mysql -u root -p openxpki ⏎
Enter password: ******** ⏎

OpenXPKIにMySQLと連携する設定を行います。

 /etc/openxpki/config.d/system/database.yaml

main:
debug: 0
type: MySQL
name: openxpki
host: localhost
port: 3306
user: openxpki
passwd: openxpki

証明書のインポート

パッケージに同梱されているサンプルの設定ユーティリティを展開し、実行します。

# gunzip /usr/share/doc/libopenxpki-perl/examples/sampleconfig.sh.gz ⏎
# sh /usr/share/doc/libopenxpki-perl/examples/sampleconfig.sh ⏎
creating configuration for openssl () .. done.
Creating certificates .. 
Did not find a root ca certificate file.
Creating an own self singned root ca ..done.
Did not find existing issuing CA key file.
Creating an issuing CA request .. done.
Signing issuing certificate with own root CA .. done.
Did not find existing DataVault certificate file.
Creating a self signed DataVault certificate .. done.
Did not find existing SCEP certificate file.
Creating a SCEP request .. done.
Signing SCEP certificate with Issuing CA .. done.
Did not find existing WEB certificate file.
Creating a Web request .. done.
Signing Web certificate with Issuing CA .. done.
Starting import ... done.

Successfully imported certificate into database:
  Subject:    CN=OpenXPKI CA-One Root CA 1
  Issuer:     CN=OpenXPKI CA-One Root CA 1
  Identifier: zFPEFoOFb25SSRHrJXaiJXq7crg
  Realm:      none
Successfully imported certificate into database:
  Subject:    CN=OpenXPKI Issuing CA 1,DC=ca-one,DC=openxpki,DC=net
  Issuer:     CN=OpenXPKI CA-One Root CA 1
  Identifier: HU9gF4FgYC5FvKgp66neNGQIXXo
  Realm:      ca-one
Successfully created alias in realm ca-one:
  Alias     : ca-one-signer-1
  Identifier: HU9gF4FgYC5FvKgp66neNGQIXXo
  NotBefore : 2017-08-03 08:46:44
  NotAfter  : 2022-08-05 08:46:44

Token is certsign, looking for root...
Creating alias for root ca:
  Alias     : root-1
  Identifier: zFPEFoOFb25SSRHrJXaiJXq7crg
  NotBefore : 2017-08-03 08:46:44
  NotAfter  : 2027-08-06 08:46:44

Successfully imported certificate into database:
  Subject:    CN=OpenXPKI CA-One SCEP RA 1,DC=ca-one,DC=openxpki,DC=net
  Issuer:     CN=OpenXPKI Issuing CA 1,DC=ca-one,DC=openxpki,DC=net
  Identifier: 38HwYyX33jG731O6xkVEpraRbPs
  Realm:      ca-one

Successfully created alias in realm ca-one:
  Alias     : ca-one-scep-1
  Identifier: 38HwYyX33jG731O6xkVEpraRbPs
  NotBefore : 2017-08-03 08:46:47
  NotAfter  : 2022-08-05 08:46:47
Successfully imported certificate into database:
  Subject:    CN=OpenXPKI CA-One DataVault,DC=OpenXPKI Internal,DC=ca-one,DC=openxpki,DC=net
  Issuer:     CN=OpenXPKI CA-One DataVault,DC=OpenXPKI Internal,DC=ca-one,DC=openxpki,DC=net
  Identifier: 0mwX-tVMjHCMWCgSstObn6X52HQ
  Realm:      ca-one

Successfully created alias in realm ca-one:
  Alias     : ca-one-vault-1
  Identifier: 0mwX-tVMjHCMWCgSstObn6X52HQ
  NotBefore : 2017-08-03 08:46:46
  NotAfter  : 2027-08-06 08:46:46

Place web certificate, private key, ... in web server configuration to enable ssl on openxpki web pages!

OpenXPKI configuration should be done now, 'openxpkictl start' to fire up server'

Thanks for using OpenXPKI - Have a nice day ;)

OpenXPKIは、複数の認証局を扱うことができます。この一つ一つをrealmという単位で管理します。このプログラムでは、ca-oneというrealmに必要な認証局の 鍵と証明書を用意してくれます。次に、ca-oneというrealmを登録します。

# openxpkiadm alias --realm ca-one ⏎
=== functional token ===
ca-one-scep (scep):
  Alias     : ca-one-scep-1
  Identifier: 38HwYyX33jG731O6xkVEpraRbPs
  NotBefore : 2017-08-03 08:46:47
  NotAfter  : 2022-08-05 08:46:47

ca-one-signer (certsign):  Alias     : ca-one-signer-1
  Identifier: HU9gF4FgYC5FvKgp66neNGQIXXo
  NotBefore : 2017-08-03 08:46:44
  NotAfter  : 2022-08-05 08:46:44

ca-one-vault (datasafe):
  Alias     : ca-one-vault-1
  Identifier: 0mwX-tVMjHCMWCgSstObn6X52HQ
  NotBefore : 2017-08-03 08:46:46
  NotAfter  : 2027-08-06 08:46:46

=== root ca ===
current root ca:
  Alias     : root-1
  Identifier: zFPEFoOFb25SSRHrJXaiJXq7crg
  NotBefore : 2017-08-03 08:46:44
  NotAfter  : 2027-08-06 08:46:44

upcoming root ca:
  not set

OpenXPKIの起動と停止

OpenXPKIの起動と停止は、openxpkictlコマンドで行います。

OpenXPKIの起動

# openxpkictl start ⏎
Starting OpenXPKI...
OpenXPKI Server is running and accepting requests.

OpenXPKIの停止

# openxpkictl stop ⏎
Stopping OpenXPKI
Stopping gracefully, 2 (sub)processes remaining...
DONE.

一押しOSS情報「OpenXPKI」

OSSのプライベート認証局 OpenXPKI
OpenXPKIの特徴・機能・デージーネットが提供する認証局の構築サービスについて紹介します。
OpenXPKIへのログイン
OpenXPKIによる認証局構築後のログイン方法を紹介します。
認証局への証明書署名要求(CSR)の作成
認証局への証明書署名要求(CSR)の作成とリクエスト送信を、WEBインタフェースを使い行うことができます。
認証局の証明書発行
認証局の管理者は、証明書の発行承認をWEBインタフェースから行うことができます。
認証局が発行した証明書の検索
認証局が発行した証明書は、WEBインタフェースから簡単に検索することができます。
認証局が発行した証明書の失効
認証局が発行した証明書の失効は、WEBインタフェースから行うことができます。
OpenXPKIのインストール
認証局を構築するため、OpenXPKIをインストールする場合には、公式サイトでDebian/Ubuntu用のパッケージが配布されています。ここでは、Debian Jessieへのインストール方法を紹介します。
OpenXPKIの認証局構築 〜よくある質問〜
OpenXPKIによる認証局構築の検討時に、お客様からよくいただくご質問にお答えします。

OpenXPKIのインストールの先頭へ