#!/bin/sh # This shell script documents the process that was used to generate our fake # P-Ras PKI. It should not need to be run again under normal circumstances. set -e D=`dirname $0` DAYS=36524 pushd "$D" mkdir -p pki # Generate CA openssl genpkey \ -algorithm RSA \ -out pki/ca.key \ -pkeyopt rsa_keygen_bits:2048 \ openssl req \ -new \ -key pki/ca.key \ -extensions v3_ca \ -batch \ -out /tmp/ca.csr \ -utf8 \ -subj "/CN=DummyCA/O=DummyPKI" \ openssl req \ -x509 \ -sha256 \ -key pki/ca.key \ -in /tmp/ca.csr \ -out pki/ca.pem \ -days $DAYS \ # Convert PEM cert to DER form for emulated keychip. # DER must fit in 1024 bytes so it must be small. openssl x509 \ -in pki/ca.pem \ -out pki/ca.crt \ -outform der \ # Generate server key openssl genpkey \ -algorithm RSA \ -out pki/server.key \ -pkeyopt rsa_keygen_bits:2048 \ openssl req \ -new \ -key pki/server.key \ -extensions v3_ca \ -batch \ -out /tmp/server.csr \ -utf8 \ -subj "/CN=ib.naominet.jp" \ openssl x509 \ -req \ -sha256 \ -days $DAYS \ -in /tmp/server.csr \ -CAkey pki/ca.key \ -CA pki/ca.pem \ -set_serial 0 \ -out pki/server.pem \ # Generate billing key pair openssl genpkey \ -algorithm RSA \ -out pki/billing.key \ -pkeyopt rsa_keygen_bits:1024 \ openssl rsa \ -pubout \ -outform der \ -in pki/billing.key \ -out pki/billing.pub \ # Clean up rm -f /tmp/ca.csr rm -f /tmp/server.csr