github.com/nsqio/nsq@v1.3.0/nsqd/test/cert.sh (about)

     1  #!/bin/bash
     2  # ./cert.sh foo@foo.com 127.0.0.1
     3  # Found: https://gist.github.com/ncw/9253562#file-makecert-sh
     4  
     5  if [ "$1" == "" ]; then
     6      echo "Need email as argument"
     7      exit 1
     8  fi
     9  
    10  if [ "$2" == "" ]; then
    11      echo "Need CN as argument"
    12      exit 1
    13  fi
    14  
    15  PRIVKEY="test"
    16  EMAIL=$1
    17  CN=$2
    18  
    19  rm -rf tmp
    20  mkdir tmp
    21  cd tmp
    22  
    23  echo "make CA"
    24  openssl req -new -x509 -days 3650 -keyout ca.key -out ca.pem \
    25      -config ../openssl.conf -extensions ca \
    26      -subj "/CN=ca" \
    27      -passout pass:$PRIVKEY
    28  
    29  echo "make server cert"
    30  openssl genrsa -out server.key 2048
    31  openssl req -new -sha256 -key server.key -out server.req \
    32      -subj "/emailAddress=${EMAIL}/C=DE/ST=NRW/L=Earth/O=Random Company/OU=IT/CN=${CN}"
    33  openssl x509 -req -days 3650 -sha256 -in server.req -CA ca.pem -CAkey ca.key -CAcreateserial -passin pass:$PRIVKEY -out server.pem \
    34      -extfile ../openssl.conf -extensions server
    35      
    36  
    37  echo "make client cert"
    38  openssl genrsa -out client.key 2048
    39  openssl req -new -sha256 -key client.key -out client.req \
    40      -subj "/emailAddress=${EMAIL}/C=DE/ST=NRW/L=Earth/O=Random Company/OU=IT/CN=${CN}"
    41  openssl x509 -req -days 3650 -sha256 -in client.req -CA ca.pem -CAkey ca.key -CAserial ca.srl -passin pass:$PRIVKEY -out client.pem \
    42      -extfile ../openssl.conf -extensions client
    43  
    44  cd ..
    45  mv tmp/* certs
    46  rm -rf tmp