Fabric CAは、Hyperledger Fabricの認証局(CA)です。次の機能を提供します。
そもそも、CAの役割や機能とはどのようなものなのかを整理しましょう。
認証局(CA)とは、ウェブサイトやその他の独立した存在などに、デジタル証明書(TLS/SSLサーバ証明書)を発行する信頼できる組織のことです。ウェブサイトやその他の独立した存在を認証することで、オンラインでのコミュニケーションや取引の信頼性を高めることができます。
TLS(Transport Layer Security)/SSL証明書は、一般的にブラウザ、閲覧中の Web サイト、および Web サイトのサーバーの間で送信されるデータを暗号化することによってインターネット接続を保護します。改ざん、紛失、盗難を防ぎつつデータが非公開で送信されることを保証します。
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 |
以降の説明のディレクトリ構成は、Hyperledger Fabricの公式サンプル(https://github.com/hyperledger/fabric#releases) のうち、test-networkを基にしています。
Hyperledger Fabricでは、Fabric CAサーバが提供されています。(https://hub.docker.com/r/hyperledger/fabric-ca/tags)
Fabric CAサーバを起動すると、test-network/organizations/fabric-ca/org1/fabric-ca-server-config.yaml
が生成されます。
これは、TLS/SSLサーバ証明書を生成するために必要なセクションが含まれた設定ファイルです。
初回の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が生成されています。
基本的にTLS通信を行うためtls-cert.pemを使用していきますが、これがTLS/SSLサーバ証明書です。以降、この組織がFabric CAサーバと通信を行う際には、tls-cert.pemを用いることで通信が可能となります。