# Step 1 - Bring up the Fabric CA

The following excerpt from [ voternet-starter.sh](https://github.com/dibyajyotibehera/voternet/blob/master/setup/voternet-starter.sh) brings up the [Fabric CA](https://hyperledger-fabric.readthedocs.io/en/release-2.0/identity/identity.html#certificate-authorities) docker containers. In short certificate authorities (aka CA) are the software component which verifies the identity of a node or client based on cryptographic certs.Fabric has made it easier to start off with fabric ca docker images however in real life there will mostly a third part CA (like verisign , GoDaddy)

{% code title="voternet-starter.sh" %}

```bash
  docker-compose -f $COMPOSE_FILE_CA up -d 2>&1
  go get github.com/hyperledger/fabric-ca/cmd/...
  . organizations/fabric-ca/registerEnroll.sh
  
  infoln "Creating InvestorOrg Identities"
  createInvestorOrg

  infoln "Creating ManagementOrg Identities"
  createManagementOrg

  infoln "Creating Orderer Org Identities"
  createOrderer
```

{% endcode %}

* take a look at the ca docker compose [file](https://github.com/dibyajyotibehera/voternet/blob/master/setup/docker/docker-compose-ca.yaml) . It brings up 3 containers based on fabric-ca docker image (first representing  CA of  investor organisation , second representing CA of corporate/management organisation , third other CA representing [Ordering Service](https://hyperledger-fabric.readthedocs.io/en/release-2.0/orderer/ordering_service.html) organisation)

{% hint style="info" %}
Make a note of the volumes configured in docker compose file.These folder will contain the initial configuration for starting the fabric-ca server as well as the client configuration for fabric-ca client commands.Also this folder will act as a repository to store a lot of crypto material generated by the ca-server.
{% endhint %}

* next we install the fabric-ca-client command which will be used to register the peer nodes of each org with the ca-server.
* we then invoke functions in registerEnroll.sh to register all the users and peers for each org with respective fabric ca server.
