Guest User

Untitled

a guest
Feb 19th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.49 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # generate key pair
  4. openssl genrsa -out keypair.pem 2048
  5.  
  6. # write public key to its own file
  7. openssl rsa -in keypair.pem -pubout -out public.pem
  8.  
  9. # write private key as PKCS-8
  10. openssl pkcs8 -topk8 -nocrypt -in keypair.pem -out private.pem
  11.  
  12. # write private key as password-protected PKCS-8
  13. openssl pkcs8 -topk8 -v2 des3 -passout pass:'correct-battery-horse-what???' -in keypair.pem -out private-enc.pem
  14.  
  15. # example of hard-coded value
  16. PUBLIC_KEY=$( cat <<EOF
  17. -----BEGIN PUBLIC KEY-----
  18. MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxE5SgmjoILdahqK4sPXL
  19. qE+wIFOMZd54vrIKFsiGk9b9mno1C0zsKAwBPDIf4T6rkSlYdVtDYl7pfLtqWMyu
  20. rhhI0cSehO2BEqETOk997ZueJVSxr43wsGIubdgm9BEYODHTOWFZihCkmrx4xj7g
  21. puFLwj9DdY28UX++OXAZlJrb2mp3rgsbremOGOPxaqpZeF6F/S5VQgOSx2nSNua3
  22. /E6WR9NSICQDFQE6bldtagSezD3ICIccX+WtPpJfjUdsEp+J0C5Oa47g1EqdhR7D
  23. ptxRV6/+6WHgerfb9TO0TXK9qXm5GeOftg79xDPUrNNJAGhbZjiWUQTgJBiWlIUT
  24. BwIDAQAB
  25. -----END PUBLIC KEY-----
  26. EOF
  27. )
  28.  
  29. # or read the public key from a file into the variable
  30. PUBLIC_KEY=$( cat public.pem )
  31.  
  32. echo "Public key is:n$PUBLIC_KEY"
  33.  
  34. # the <(..) is Bash specific
  35. echo "Hello world." | openssl rsautl -encrypt -oaep -pubin -inkey <(echo "$PUBLIC_KEY") -out encrypted.bin
  36.  
  37. echo "Encrypted data:n"
  38. od -t x1 encrypted.bin
  39.  
  40. echo "Decrypt with unprotected private key file:"
  41. openssl rsautl -decrypt -oaep -inkey private.pem -in encrypted.bin
  42.  
  43. echo "Decrypt with password-protected private key file:"
  44. openssl rsautl -decrypt -oaep -inkey private-enc.pem -passin pass:'correct-battery-horse-what???' -in encrypted.bin
Add Comment
Please, Sign In to add comment