-
サーバ構築のデージーネットTOP
-
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.
デモのお申込み
もっと使い方が知りたい方へ
OpenXPKIの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。OpenXPKIのデモをご希望の方は、下記よりお申込みいただけます。
一押しOSS【OpenXPKI】
- 認証局の証明書検索
- 認証局が発行した証明書は、WEBインタフェースから簡単に検索することができます。
- 認証局の証明書失効
- 認証局が発行した証明書の失効は、WEBインタフェースから行うことができます。
- OpenXPKIのインストール
- 認証局を構築するため、OpenXPKIをインストールする場合には、公式サイトでDebian/Ubuntu用のパッケージが配布されています。ここでは、Debian Jessieへのインストール方法を紹介します。
- OpenXPKI手順書
- ここではOpenXPKI Web UIの管理画面を使用したOpenXPKIサーバの操作手順についてのマニュアルについて紹介します。
- OCSPレスポンダ〜OpenCA OCSPD〜
- OCSPとは、公開鍵証明書の失効状態を取得するための通信プロトコルです。OCSPを実装するための通信プロトコルです。OCSPを実装するためのOCSPレスポンダであるOpenCA OCSPDについて紹介します。