title: TLS Handshake Error while Creating Hyperledger Fabric Channel with Multiple Organisation Orderers
body: <p><strong>Scenario:</strong> I have two organisation with two peers in each organisation. Now, I want each organisation to provide an orderer node as well.</p>
  
  <p>Below is my <strong><em>crypto-config.yaml</em></strong> file:</p>
  
  <pre><code>OrdererOrgs:
  
    - Name: Orderer1
      Domain: org1.xyz.com
      Template:
      Count: 1
  
    - Name: Orderer2
      Domain: org2.xyz.com
      Template:
      Count: 1
  </code></pre>
  
  <p>Below is my <strong><em>configtx.yaml</em></strong> file:</p>
  
  <pre><code> - &amp;OrdererOrg1
  
      Name: OrdererOrg01
      ID: Orderer1MSP
      MSPDir: crypto-config/ordererOrganizations/org1.xyz.com/msp
      Policies:
          Readers:
              Type: Signature
              Rule: "OR('Orderer1MSP.member')"
          Writers:
              Type: Signature
              Rule: "OR('Orderer1MSP.member')"
          Admins:
              Type: Signature
              Rule: "OR('Orderer1MSP.admin')"
  
  - &amp;OrdererOrg2
  
      Name: OrdererOrg02
      ID: Orderer2MSP
      MSPDir: crypto-config/ordererOrganizations/org2.xyz.com/msp
      Policies:
          Readers:
              Type: Signature
              Rule: "OR('Orderer2MSP.member')"
          Writers:
              Type: Signature
              Rule: "OR('Orderer2MSP.member')"
          Admins:
              Type: Signature
              Rule: "OR('Orderer2MSP.admin')"
  </code></pre>
  
  <p>Below is my <strong><em>docker-compose-cli.yaml</em></strong> file:</p>
  
  <pre><code>services:
  
       orderer.xyz.com:
          extends:
          file:   base/docker-compose-base.yaml
          service: orderer.xyz.com
          container_name: orderer.xyz.com
          networks:
           - byfn
  
      orderer0.xyz.com:
         extends:
         file:   base/docker-compose-base.yaml
         service: orderer0.xyz.com
         container_name: orderer0.xyz.com
         networks:
          - byfn
  </code></pre>
  
  <p>I try to create a channel with the following command:</p>
  
  <pre><code>peer channel create -o orderer.xyz.com:7050 -t 60s -c bay -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/org1.xyz.com/orderers/orderer0.org1.xyz.com/msp/tlscacerts/tlsca.org1.xyz.com-cert.pem
  </code></pre>
  
  <p>I get the following <strong>ERROR</strong> on Orderer container logs while creating a channel:</p>
  
  <blockquote>
    <p>[core.comm] ServerHandshake -> ERRO 015 TLS handshake failed with
    error remote error: tls: bad certificate {"server": "Orderer", "remote
    address": "172.22.0.18:48594"}</p>
  </blockquote>
  
  <p>So, is it possible that for organisations providing peers, provide an orderer node as well or a separate third organisation will be providing orderer nodes (as observed in tutorials)? And why am I getting this error?</p>
  
  <p>Thanks for your time and let me know If you require any further information.</p>