Как обновить сертификаты TLS в hyperledger fabric после истечения срока их действия?

#hyperledger-fabric #hyperledger #hyperledger-fabric-ca

#hyperledger-fabric #hyperledger #hyperledger-fabric-ca

Вопрос:

Мои заказчики и одноранговые узлы не могут обмениваться данными. Они выдают ошибку неправильного сертификата. Я не хочу терять какие-либо данные.

 2020-12-18 12:47:46.820 UTC [core.comm] ServerHandshake -> ERRO 990 TLS handshake failed with error remote error: tls: bad certificate server=PeerServer remoteaddress=172.29.0.7:58636
 

Комментарии:

1. Вы используете консенсус Kafka или Raft?

2. Я использую Raft и hyperledger fabric версии 1.4

3. @GariSingh все мои узлы-заказчики выдают плохой сертификат, поэтому я думаю, что мне тоже нужно выполнить ротацию сертификатов для заказчиков? Я также опубликовал еще один отдельный вопрос о ротации сертификатов заказчиков.

4. Я также публикую, как обращаться с заказчиками ниже. Основной «трюк», облегчающий жизнь, заключается в использовании одного и того же закрытого ключа для каждого заказчика и простом обновлении общедоступного сертификата.

Ответ №1:

Для одноранговых узлов это очень просто:

  • выдавать новые сертификаты TLS из того же центра сертификации, который выдал их текущие сертификаты
  • замените существующие сертификаты (или обновите core.yaml , чтобы указать на новые сертификаты, если используете разные пути / имена файлов)
  • перезапустите одноранговые узлы

Для заказчиков, использующих Raft, это немного сложнее. Предполагая, что вы используете последнюю версию 1.4.x, заказчикам нужно использовать их существующие закрытые ключи для создания новых CSR, а затем попросить CA выдать новый общедоступный сертификат. Затем вы замените / обновите orderer.yaml общедоступный сертификат и перезапустите заказчики по одному.

Комментарии:

1. Я пытался это сделать, но когда я перезапускаю средство заказа, оно никогда не достигает консенсуса.