Skip to content

Instantly share code, notes, and snippets.

@mmiszy
Forked from bananu7/labpki.sh
Last active August 29, 2015 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mmiszy/9780692 to your computer and use it in GitHub Desktop.
Save mmiszy/9780692 to your computer and use it in GitHub Desktop.
#####################
# Hasla:
# CA : cakey
# klient : klientkey
# paczka : lab142
#####################
#############################
# RECZNE ZMIANY W KONFIGU
#
# vi /etc/pki/tls/openssl.cnf
#
# dir - zmienic na /pkilab
# policy - zmienic name na supplied i email na optional
#
#############################
cd /pkilab
#####################
# Polecenie 1.
#####################
openssl req -x509 -newkey rsa:512 -keyout CA.key -out CA.cer -days 3652
# stworzenie plikow bazowych i struktury folderow
mkdir private
mkdir newcerts
mv CA.key private/
touch index.txt
echo '00' > serial
# Wygenerowanie CA
openssl ca
#####################
# Polecenie 2
#####################
# wygenerowanie nowego zadania
openssl req -new -keyout klient.key -out klient.req
# sekcja usr2_cert w configu, dla celow backupowych
# (mozna uzyc z innego pliku za pomoca extfile)
#[ usr2_cert ]
#basicConstraints=CA:FALSE
#subjectKeyIdentifier=hash
#authorityKeyIdentifier=keyid,issuer
#keyUsage = nonRepudiation, digitalSignature, keyEncipherment
openssl ca -in klient.req -days 730 -out klient.cer -extensions usr2_cert
# oddawanie zadania
# fancy
# openssl x509 -in klient.cer -subject -issuer -purpose -noout -dates
openssl x509 -in klient.cer -text
##########################
# Polecenie 3
#########################
openssl pkcs12 -export -inkey klient.key -in klient.cer -certfile CA.cer -out grupa12.p12
#sprawdzenie
openssl pkcs12 -info -nodes -in grupa12.p12
##########################
# Polecenie 4
##########################
# Alg 1. - enkrypcja
time openssl enc -e -in dane.txt -out dane.txt.rc2 -rc2 -k plikkey
# Alg 2. - enkrypcja
time openssl enc -e -in dane.txt -out dane.txt.aes256 -aes-256-ecb -k plikkey
# Alg 1. - dekrypcja
time openssl enc -d -out dane.txt.dec-rc2 -in dane.txt.rc2 -rc2 -k plikkey
# Alg 2. - dekrypcja
time openssl enc -d -out dane.txt.dec-aes256 -in dane.txt.aes256 -aes-256-ecb -k plikkey
# Wyswietlenie rozmiarow
ls -la dane.txt.*
ls -la dane.txt.dec-*
# uwaga - swietne wyniki AESa spowodowane sa sprzetowym wsparciem na procesorze
##########################
# Polecenie 5
##########################
openssl smime -sign -in wyniki12.txt -out wyniki12.txt.signed_a -signer klient.cer -inkey klient.key
openssl smime -sign -in wyniki12.txt -out wyniki12.txt.signed_b -signer klient.cer -inkey klient.key -nodetach
# Zmienic plik wyniki12.txt.signed_a i zapisac w signed_tampered
# Failure
openssl smime -verify -in wyniki12.txt.signed_tampered -CAfile CA.cer
# Success
openssl smime -verify -in wyniki12.txt.signed_a -CAfile CA.cer
#########################
# Polecenie 6
#########################
cp CA.cer cert.pem
openssl smime -encrypt -des3 -in wyniki12.txt -out wyniki12.encrypted cert.pem
openssl smime -decrypt -in wyniki12.encrypted -inkey private/CA.key
#########################
# Polecenie 7
#########################
openssl smime -encrypt -des3 -in wyniki12.txt -out grupa12.enc labpki.crt
openssl smime -sign -signer klient.cer -in grupa12.enc -out grupa12.enc.signed
cp CA.cer grupa12.ca.cer
cp klient.cer grupa12.cer
# Wrzucic na FTP te 3 pliki
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment