#!/bin/bash
set -e
rm -rf out
mkdir out
openssl genrsa -out out/bad-self-signed.key 2048
touch out/bad-self-signed-index.txt
SUBJECT_NAME="req_self_signed_a" \
openssl req \
-new \
-key out/bad-self-signed.key \
-out out/ss-a.req \
-config ee.cnf
SUBJECT_NAME="req_self_signed_b" \
openssl req \
-new \
-key out/bad-self-signed.key \
-out out/ss-b.req \
-config ee.cnf
openssl x509 \
-req \
-in out/ss-a.req \
-out out/bad-self-signed-root-a.pem \
-signkey out/bad-self-signed.key \
-days 3650
openssl x509 -in out/bad-self-signed-root-a.pem -outform DER \
| head -c -2 \
> out/bad-sig.der.1
echo -n -e "\xde\xad" > out/bad-sig.der.2
cat out/bad-sig.der.1 out/bad-sig.der.2 \
| openssl x509 \
-inform DER \
-outform PEM \
-out out/cert-self-signed-invalid-sig.pem
openssl x509 \
-text \
-noout \
-in out/cert-self-signed-invalid-sig.pem \
> out/self-signed-invalid-sig.pem
cat out/cert-self-signed-invalid-sig.pem >> out/self-signed-invalid-sig.pem
openssl x509 \
-req \
-in out/ss-b.req \
-out out/cert-self-signed-invalid-name.pem \
-days 3650 \
-CA out/bad-self-signed-root-a.pem \
-CAkey out/bad-self-signed.key \
-CAserial out/bad-self-signed-serial.txt \
-CAcreateserial
openssl x509 \
-text \
-noout \
-in out/cert-self-signed-invalid-name.pem \
> out/self-signed-invalid-name.pem
cat out/cert-self-signed-invalid-name.pem >> out/self-signed-invalid-name.pem