1. Fabric CAとは
Fabric CAは、Hyperledger Fabricの認証局(CA)です。次の機能を提供します。
- IDの登録
- 電子証明書(ECerts)の発行
- 電子証明書の更新と取消
そもそも、CAの役割や機能とはどのようなものなのかを整理しましょう。
2. 認証局(CA)
認証局(CA)とは、ウェブサイトやその他の独立した存在などに、デジタル証明書(TLS/SSLサーバ証明書)を発行する信頼できる組織のことです。ウェブサイトやその他の独立した存在を認証することで、オンラインでのコミュニケーションや取引の信頼性を高めることができます。
2.1 TLS/SSLサーバ証明書とは
TLS(Transport Layer Security)/SSL証明書は、一般的にブラウザ、閲覧中の Web サイト、および Web サイトのサーバーの間で送信されるデータを暗号化することによってインターネット接続を保護します。改ざん、紛失、盗難を防ぎつつデータが非公開で送信されることを保証します。
2.2 TLS/SSLサーバ証明書の取得方法
TLS/SSLサーバ証明書を取得するには、CSR(Certificate Signing Request)を行います。
CSRの流れ
この時、公開鍵の情報と、組織名や所在地等の情報(Distinguished Name=識別名)の情報が必要です。
識別名
項目 | 内容 | 入力例 |
---|
cn | コモンネーム。実際に接続する URL の FQDNを記載する。 | ca.org1.example.com |
C | 申請組織の国名を記載する。 | JP |
ST | 都道府県名。申請組織の事業所住所の「都道府県名」を記載する。 | Tokyo |
L | 市町村名。申請組織の事業所住所の「市区町村名」を記載する。 | Minato City |
O | 組織名。申請組織の名称を記載する。 | XXXX Japan Co.,Ltd. |
OU | 組織単位名。部署名の名称を記載する。 | Technical Division |
3. Hyperledger Fabricでのユースケース
3.1 TLS/SSLサーバ証明書の取得
3.1.1 識別名の更新
初回のFabric CAサーバ起動時は、識別名はデフォルトの設定値でTLS/SSLサーバ証明書が生成されます。そのため設定値の更新を行い、再度Fabric CAサーバを起動する必要があります。
test-network/organizations/fabric-ca/org1/fabric-ca-server-config.yaml
のcsrセクションを記載して、Fabric CAサーバを再起動します。
起動後、test-network/organizations/fabric-ca/org1
ディレクトリに、ca-cert.pemとtls-cert.pemが生成されています。
- ca-cert.pem:CAサーバ証明書ファイル
- tls-cert.pem:TLSサーバ証明書ファイル
基本的にTLS通信を行うためtls-cert.pemを使用していきますが、これがTLS/SSLサーバ証明書です。以降、この組織がFabric CAサーバと通信を行う際には、tls-cert.pemを用いることで通信が可能となります。