mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-12-01 11:48:23 -05:00
54 lines
2.0 KiB
Bash
54 lines
2.0 KiB
Bash
|
#!/bin/sh
|
||
|
|
||
|
OPENSSL=openssl
|
||
|
|
||
|
CURVE=secp384r1
|
||
|
DIGEST="-sha384"
|
||
|
DIGEST_CA="-md sha384"
|
||
|
|
||
|
echo
|
||
|
echo "---[ Root CA ]----------------------------------------------------------"
|
||
|
echo
|
||
|
|
||
|
cat ec-ca-openssl.cnf |
|
||
|
sed "s/#@CN@/commonName_default = Suite B 192-bit Root CA/" \
|
||
|
> ec-ca-openssl.cnf.tmp
|
||
|
$OPENSSL ecparam -out ec2-ca.key -name $CURVE -genkey
|
||
|
$OPENSSL req -config ec-ca-openssl.cnf.tmp -batch -x509 -new -key ec2-ca.key -out ec2-ca.pem -outform PEM -days 3650 $DIGEST
|
||
|
mkdir -p ec-ca/certs ec-ca/crl ec-ca/newcerts ec-ca/private
|
||
|
touch ec-ca/index.txt
|
||
|
rm ec-ca-openssl.cnf.tmp
|
||
|
|
||
|
echo
|
||
|
echo "---[ Server ]-----------------------------------------------------------"
|
||
|
echo
|
||
|
|
||
|
cat ec-ca-openssl.cnf |
|
||
|
sed "s/#@CN@/commonName_default = server.w1.fi/" |
|
||
|
sed "s/#@ALTNAME@/subjectAltName=critical,DNS:server.w1.fi/" \
|
||
|
> ec-ca-openssl.cnf.tmp
|
||
|
$OPENSSL ecparam -out ec2-server.key -name $CURVE -genkey
|
||
|
$OPENSSL req -config ec-ca-openssl.cnf.tmp -batch -new -nodes -key ec2-server.key -out ec2-server.req -outform PEM $DIGEST
|
||
|
$OPENSSL ca -config ec-ca-openssl.cnf.tmp -batch -keyfile ec2-ca.key -cert ec2-ca.pem -create_serial -in ec2-server.req -out ec2-server.pem -extensions ext_server $DIGEST_CA
|
||
|
rm ec-ca-openssl.cnf.tmp
|
||
|
|
||
|
echo
|
||
|
echo "---[ User ]-------------------------------------------------------------"
|
||
|
echo
|
||
|
|
||
|
cat ec-ca-openssl.cnf |
|
||
|
sed "s/#@CN@/commonName_default = user/" |
|
||
|
sed "s/#@ALTNAME@/subjectAltName=email:user@w1.fi/" \
|
||
|
> ec-ca-openssl.cnf.tmp
|
||
|
$OPENSSL ecparam -out ec2-user.key -name $CURVE -genkey
|
||
|
$OPENSSL req -config ec-ca-openssl.cnf.tmp -batch -new -nodes -key ec2-user.key -out ec2-user.req -outform PEM -extensions ext_client $DIGEST
|
||
|
$OPENSSL ca -config ec-ca-openssl.cnf.tmp -batch -keyfile ec2-ca.key -cert ec2-ca.pem -create_serial -in ec2-user.req -out ec2-user.pem -extensions ext_client $DIGEST_CA
|
||
|
rm ec-ca-openssl.cnf.tmp
|
||
|
|
||
|
echo
|
||
|
echo "---[ Verify ]-----------------------------------------------------------"
|
||
|
echo
|
||
|
|
||
|
$OPENSSL verify -CAfile ec2-ca.pem ec2-server.pem
|
||
|
$OPENSSL verify -CAfile ec2-ca.pem ec2-user.pem
|