Как настроить сеть блокчейна с TLS в одноранговых сетях и заказчиках? - PullRequest
0 голосов
/ 11 января 2019

На этой странице документации Hyperledger показано, какую переменную окружения следует использовать для настройки партнеров и заказчиков: https://hyperledger -fabric.readthedocs.io / en / release-1.3 / enable_tls.html

в пирах:

CORE_PEER_TLS_ENABLED = true CORE_PEER_TLS_CERT_FILE = полностью квалифицировано путь к сертификату сервера CORE_PEER_TLS_KEY_FILE = полностью полный путь к закрытому ключу сервера CORE_PEER_TLS_ROOTCERT_FILE = полный путь к файлу цепочки CA CORE_PEER_TLS_CLIENTAUTHREQUIRED = true CORE_PEER_TLS_CLIENTROOTCAS_FILES = полный путь к CA файл цепочки CORE_PEER_TLS_CLIENTCERT_FILE = полный путь к сертификат клиента CORE_PEER_TLS_CLIENTKEY_FILE = полный путь клиентского ключа

и в заказе:

ORDERER_GENERAL_TLS_ENABLED = true ORDERER_GENERAL_TLS_PRIVATEKEY = полный путь к файлу, который содержит закрытый ключ сервера ORDERER_GENERAL_TLS_CERTIFICATE = полный путь к файлу который содержит сертификат сервера ORDERER_GENERAL_TLS_ROOTCAS = полный путь к файлу, который содержит цепочку сертификатов центра сертификации, выдавшего сертификат сервера TLS ORDERER_GENERAL_TLS_CLIENTAUTHREQUIRED = true ORDERER_GENERAL_TLS_CLIENTROOTCAS = полный путь к файлу который содержит цепочку сертификатов CA, который выпустил сервер TLS сертификат

Проблема в том, что я не знаю, какой сертификат из криптоматериала я должен использовать в этих переменных env.

И я не знаю, какую переменную env следует использовать, когда, например, при создании канала команда, требующая следующие аргументы для соединения tls:

- cafile Путь к файлу, содержащему доверенный сертификат (ы) в кодировке PEM для конечной точки заказа --certfile Путь к файлу, содержащему открытый ключ X509 в кодировке PEM, который будет использоваться для взаимной связи TLS с конечной точкой заказчика --keyfile Путь к файлу, содержащему закрытый ключ в кодировке PEM, который будет использоваться для взаимной связи TLS с конечной точкой заказчика

1) Какой сертификат из сгенерированного криптографического материала мне следует использовать при запуске партнера и заказчика?

2) Какой сертификат я должен передать в качестве аргументов в команде создания канала равноправного канала?

1 Ответ

0 голосов
/ 13 января 2019

Вот что я делаю (и у меня работает):

Заказчик:

          (....)
          - ORDERER_GENERAL_TLS_ENABLED=true
          - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key
          - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt
          - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt]
        working_dir: /opt/gopath/src/github.com/hyperledger/fabric
        command: orderer
        volumes:
        - ./crypto-config/ordererOrganizations/org1.example.com/orderers/orderer.org1.example.com/tls/:/var/hyperledger/orderer/tls
        (....)

Peer:

   (....)
          - CORE_PEER_TLS_ENABLED=true
          - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
          - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
          - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
        working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
        command: peer node start
        volumes:
            - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
  (....)

CLI:

(....)          
          - CORE_PEER_TLS_ENABLED=true
          - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
          - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
          - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
(....)

Команда создания канала:

peer channel create -o orderer.org1.example.com:7050 -c channelname --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/org1.example.com/orderers/orderer.org1.example.com/msp/tlscacerts/tlsca.org1.example.com-cert.pem -f ./channel-artifacts/channelname.tx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...