Hyperledger Fabric開発実戦-05証明書サーバ
4887 ワード
本文は『ブロックチェーン開発実戦-Hyperledger Fabric肝心な技術とケーススタディ』という本を読むと同時に、実践の中で記録したいくつかの実践手順と経験を共有する.
Hyperledger Fabric開発実戦-06使用SDK
Hyperledger Fabricは、不正なユーザーがアクセスできないことを特徴とするアライアンスチェーンです.そのため、Fabricには改ざんできない特性を保証するための厳格なアカウントシステムがあります.
前の例では、OrdererノードとPeerノードを起動しても、Channelを作成しても、mspを設定する必要があります.システムを計画するときは、固定数のノードとユーザーを構成しますが、システムが変化した場合は、新しい組織を導入する必要があります.あるいは、組織に新しいアカウントとユーザーを追加する必要があります.これはどのように処理しますか.cryptogenモジュールはこの問題の解決に対して構成があり、yamlファイルを再構成することができ、そこで開始位置
以前はOrg 1のために2つのpeerノードを作成していましたが、現在のcountは3、startは3で、説明は2から3つ追加されました.
Fabric-ca
Fabric-caプロジェクトは、Fabricアカウントの問題を解決するために開発されたオープンソースプロジェクトで、Fabric-ca-serverとFabric-ca-clientの2つのモジュールから構成されています.
クライアントがsdkでpeerノードにアクセスする前に、まずCA Intermediate Serverの検証を行います.
コンパイルとインストール
の準備を
まずシステム依存性をインストールする必要があります.ca-serverのデータベースストレージとしてsqlite 3を使用します.
ダウンロードとコンパイル
v 1を使用しているためです.1.0バージョン、一貫性を保つためにcaではこのバージョンが使用されています
けんさ
開始
初期化
fabric-ca-serverのinitサブコマンドは、生成に関連するプロファイルを初期化するために使用されます.
構成の変更
主なプロファイルはディレクトリ系の
ca-serverの起動
fabric-ca-serverのstartサブコマンドを使用してサーバを起動するには、プロファイルが存在するディレクトリを作成する必要があります.
クライアントの使用
Clientによって、アカウントを生成することができます.ca-serverはOrg 1の証明書をバインドしているので、動的に生成されたアカウントはOrg 1の下のユーザーです.
ディレクトリの設定
生産のアカウントは関連証明書を保存する必要があるので、フォルダに保存してください.
enrollを使用してアカウントを登録enrollは管理者アカウントとパスワードで登録し、管理者のMSP証明書を取得します.
コマンドを実行すると、生成された関連ファイルがclientフォルダに表示されます.
アカウントの登録
新しいアカウントpeer 4を登録し、パスワードはpeer 4 pw、部門はorg 1である.department1
peer 4の証明書の取得
まず、peer 4のmspを保存するディレクトリを作成します.
enroll取得証明書の実行
管理者の前からpeer 4ディレクトリへのコピー
共通TLS署名証明書をpeer 4ディレクトリにコピー
peer 4のディレクトリの下には、cryptogenで生成したアカウントファイルと一致する構造が表示されます.
Hyperledger Fabric開発実戦-06使用SDK
Hyperledger Fabricは、不正なユーザーがアクセスできないことを特徴とするアライアンスチェーンです.そのため、Fabricには改ざんできない特性を保証するための厳格なアカウントシステムがあります.
前の例では、OrdererノードとPeerノードを起動しても、Channelを作成しても、mspを設定する必要があります.システムを計画するときは、固定数のノードとユーザーを構成しますが、システムが変化した場合は、新しい組織を導入する必要があります.あるいは、組織に新しいアカウントとユーザーを追加する必要があります.これはどのように処理しますか.cryptogenモジュールはこの問題の解決に対して構成があり、yamlファイルを再構成することができ、そこで開始位置
start
を指定することができます.例えば、PeerOrgs:
- Name: Org1
Domain: org1.cmbc.com
Template:
Count: 3
Start: 2
以前はOrg 1のために2つのpeerノードを作成していましたが、現在のcountは3、startは3で、説明は2から3つ追加されました.
#
peer0.org1.cmbc.com
peer1.org1.cmbc.com
# 3 peer
peer2.org1.cmbc.com
peer3.org1.cmbc.com
peer4.org1.cmbc.com
Fabric-ca
Fabric-caプロジェクトは、Fabricアカウントの問題を解決するために開発されたオープンソースプロジェクトで、Fabric-ca-serverとFabric-ca-clientの2つのモジュールから構成されています.
クライアントがsdkでpeerノードにアクセスする前に、まずCA Intermediate Serverの検証を行います.
コンパイルとインストール
の準備を
まずシステム依存性をインストールする必要があります.ca-serverのデータベースストレージとしてsqlite 3を使用します.
sudo apt-get install libtool libltdl-dev
sudo apt-get install sqlite3
ダウンロードとコンパイル
v 1を使用しているためです.1.0バージョン、一貫性を保つためにcaではこのバージョンが使用されています
cd $GOPATH/src/github.com/hyperledger
git clone http://gerrit.hyperledger.org//r/fabric-ca
cd $GOPATH/src/github.com/hyperledger/fabric-ca
git checkout v1.1.0
make fabric-ca-server
make fabric-ca-client
# , usr
sudo cp $GOPATH/src/github.com/hyperledger/fabric-ca/bin/* /usr/local/bin
chmod -R 775 /usr/local/bin/fabric-ca-server
chmod -R 775 /usr/local/bin/fabric-ca-client
けんさ
fabric-ca-server version
fabric-ca-client version
開始
初期化
fabric-ca-serverのinitサブコマンドは、生成に関連するプロファイルを初期化するために使用されます.
#
mkdir ~/fabricwksp/04-ca/server
cd ~/fabricwksp/04-ca/server
# ,-b ca-server
fabric-ca-server init -b admin:adminpw
構成の変更
主なプロファイルはディレクトリ系の
fabric-ca-server-config.yaml
ファイルで、ca-serverのポート、デバッグモード、tls、ca、dbなどの情報が含まれています.必要なのはca-serverを既存の組織にバインドすることです.前の例に基づいて、Org 1にバインドし、ca
部分を修正し、Org 1の証明書を設定する必要があります.ca:
name: ca-org1
keyfile: /home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org1.cmbc.com/ca/9284b1b376bd6291d1c7e9b23902d6b6f660663241e2139e7093608f04198820_sk
certfile: /home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org1.cmbc.com/ca/ca.org1.cmbc.com-cert.pem
chainfile: ca-chain.pem
ca-serverの起動
fabric-ca-serverのstartサブコマンドを使用してサーバを起動するには、プロファイルが存在するディレクトリを作成する必要があります.
fabric-ca-server start -H /home/ssj234/fabricwksp/04-ca/server --boot admin:adminpw
クライアントの使用
Clientによって、アカウントを生成することができます.ca-serverはOrg 1の証明書をバインドしているので、動的に生成されたアカウントはOrg 1の下のユーザーです.
ディレクトリの設定
生産のアカウントは関連証明書を保存する必要があるので、フォルダに保存してください.
mkdir ~/fabricwksp/04-ca/client
enrollを使用してアカウントを登録enrollは管理者アカウントとパスワードで登録し、管理者のMSP証明書を取得します.
export FABRIC_CA_CLIENT_HOME=/home/ssj234/fabricwksp/04-ca/client
fabric-ca-client enroll -M /home/ssj234/fabricwksp/04-ca/client -u http://admin:adminpw@localhost:7054
コマンドを実行すると、生成された関連ファイルがclientフォルダに表示されます.
アカウントの登録
新しいアカウントpeer 4を登録し、パスワードはpeer 4 pw、部門はorg 1である.department1
fabric-ca-client register --id.name peer4 --id.type peer --id.affiliation org1.department1 --id.secret peer4pw -u http://localhost:7054
peer 4の証明書の取得
まず、peer 4のmspを保存するディレクトリを作成します.
mkdir -p ~/fabricwksp/04-ca/peer4/msp/admincerts
enroll取得証明書の実行
fabric-ca-client enroll -M /home/ssj234/fabricwksp/04-ca/peer4/msp -u http://peer4:peer4pw@localhost:7054
管理者の前からpeer 4ディレクトリへのコピー
cp /home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org1.cmbc.com/users/[email protected]/msp/signcerts/* ~/fabricwksp/04-ca/peer4/msp/admincerts
共通TLS署名証明書をpeer 4ディレクトリにコピー
mkdir -p ~/fabricwksp/04-ca/peer4/tls
cp /home/ssj234/fabricwksp/02-helloworld/fabricconfig/crypto-config/peerOrganizations/org1.cmbc.com/peers/peer0.org1.cmbc.com/tls/* ~/fabricwksp/04-ca/peer4/tls
peer 4のディレクトリの下には、cryptogenで生成したアカウントファイルと一致する構造が表示されます.
├── msp
│ ├── admincerts
│ │ └── [email protected]
│ ├── cacerts
│ │ └── localhost-7054.pem
│ ├── intermediatecerts
│ │ └── localhost-7054.pem
│ ├── keystore
│ │ └── 75800c7f0f57af0eea8edfa8dc53fff45a3f98bb13281c645f18145b0c39d460_sk
│ └── signcerts
│ └── cert.pem
└── tls
├── ca.crt
├── server.crt
└── server.key