Nano Hash - криптовалюты, майнинг, программирование

Промежуточный ЦС не создает tls-cert.pem

Я пытаюсь создать промежуточный центр сертификации с использованием корневого центра сертификации. Моя структура папок для корневого центра сертификации и промежуточного центра сертификации показана ниже. Шаги, которые я использую для создания промежуточного CA,

  1. Запуск экземпляра ROOT CA с tls-enable. которые создают весь файл сервера Fabric-CA внутри Org1CA

  2. Копирую файл tls-cert.pem в папку ICA.

  3. Я использую команду init для промежуточного CA, которая сгенерирует все файлы сервера CA фабрики внутри папки ICA с chain-ca.pem.

  4. Я запускаю промежуточный экземпляр CA фабрики с запуском команды в docker-compose.yaml, он работает.

    У меня возникает проблема, когда я запускаю промежуточный экземпляр, он не создает tls-cert.pem, и когда я регистрирую одноранговые узлы с помощью ORG1CA tls-cert.pem и запускаю одноранговые контейнеры, с которыми я сталкиваюсь TLS handshaking error.

    fabric-ca
        Org1CA
        ICA

ROOT CA

version: "2"

networks:
  test:

services:
  ca_org1:
    image: hyperledger/fabric-ca:$IMAGE_TAG
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-org1
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_PORT=7054
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - ../organizations/fabric-ca/org1:/etc/hyperledger/fabric-ca-server
    container_name: ca_org1
    networks:
      - test



ПРОМЕЖУТОЧНЫЙ ЦС

version: "2"

networks:
  test:

services:
  ica-org1:
    image: hyperledger/fabric-ca
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ica-org1
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_LOGGING_SPEC=debug
      - FABRIC_CA_SERVER_PORT=6054
    ports:
      - "6054:6054"
    command: sh -c 'fabric-ca-server start  -b icaadmin:icaadminpw -u -d http://ica:icapw@ca-org1:7054'
    volumes:
      - ../organizations/fabric-ca/icaOrg1:/etc/hyperledger/fabric-ca-server
    container_name: ica-org1
    networks:
     - test

NodeOU

echo 'NodeOUs:
  Enable: true
  ClientOUIdentifier:
    Certificate: cacerts/localhost-7054-ca-org1.pem
    OrganizationalUnitIdentifier: client
  PeerOUIdentifier:
    Certificate: cacerts/localhost-7054-ca-org1.pem
    OrganizationalUnitIdentifier: peer
  AdminOUIdentifier:
    Certificate: cacerts/localhost-7054-ca-org1.pem
    OrganizationalUnitIdentifier: admin
  OrdererOUIdentifier:
    Certificate: cacerts/localhost-7054-ca-org1.pem
    OrganizationalUnitIdentifier: orderer' > ${PWD}/organizations/peerOrganizations/org1.example.com/msp/config.yaml

Ответы:


1

Если ICA не генерирует tls-cert.pem в папке FABRIC_CA_HOME, попробуйте использовать chain-cert.pem. Не используйте сертификат RCA. Поскольку одноранговый узел регистрируется в ICA => только сертификат ICA может проверять сертификат однорангового узла.

04.06.2020
  • спасибо за повтор, tls-cert.pem и chain-cert.pem работают одинаково? 04.06.2020
  • Я не уверен, что это сработает во всех случаях. Но я заменил все tls-cert.pem на ca-cert.pem в тестовой сети образцов ткани, и сеть успешно создана. В своем проекте я использую только ca-cert.pem для RCA и ca-chain.pem для ICA с включенным TLS. 04.06.2020
  • Спасибо, я попробую обновить здесь, еще одна вещь, если вы проверите выше, я обновил NodeOUs, мне нужно изменить его с cacerts/localhost-7054-ca-org1.pem на intermidiatecerts/ папку 04.06.2020
  • у меня не работает fabric-ca-client enroll -u https://peer1:peer1pw@localhost:4054 --caname ica.org1.avantas.com -M ${PWD}/organizations/peerOrganizations/org1.avantas.com/peers/peer1.org1.avantas.com/tls --enrollment.profile tls --csr.hosts peer1.org1.example.com --csr.hosts localhost --tls.certfiles ${PWD}/organizations/fabric-ca/icaorg1/ca-cert.pem' 04.06.2020
  • Я думаю, это имя ca-chain.pem, а не ca-cert.pem. Покажите мне всю папку с древовидной структурой в $ {PWD} / organization / fabric-ca / icaorg1. И покажите мне команду, которую вы используете для инициализации ICA. 04.06.2020
  • Я обновил свой вопрос, указав промежуточное изображение структуры папок и шаги, которые я использую для создания ICA. 04.06.2020
  • Я использовал --tls.certfiles ${PWD}/organizations/fabric-ca/icaorg1/ca-chain.pem после его использования, когда я запускаю одноранговый контейнер, я могу получить ошибку рукопожатия. Но я удаляю ROOT CA MSP перед регистрацией промежуточного CA, администратор 04.06.2020
  • Вы имеете в виду, что у вас все еще есть ошибка tls handshake error при запуске однорангового узла? Кстати, вам нужно изменить NodeOU на intermidiatecerts / для успешного запуска однорангового узла. На шаге c я думаю, что копировать весь файл tls-cert из org1 в папку icaorg1 не нужно. 04.06.2020
  • Я меняю "NodeOUs" на intermediatecerts/localhost-4054-ica-org1-example-com.pem, все еще сталкиваюсь с проблемой дрожания рук. 04.06.2020
  • Хорошо, я сделаю коммит и обновлю здесь ссылку, спасибо. Еще одна вещь, как сертификат tls получен из промежуточного ca. Как я могу проверить принадлежность TLS промежуточной CA 04.06.2020
  • Вы можете отобразить информацию о своем сертификате tls, используя openssl x509 -text -noout -in ‹your_cert› 04.06.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..