Showing posts with label openssl. Show all posts
Showing posts with label openssl. Show all posts

Wednesday, December 2, 2020

Signature Verification using OpenSSL

generate RSA Private Key

 #openssl genrsa -out private.pem 2048


Generate RSA public Key from Private Key

#openssl rsa -in private.pem -outform PEM -pubout -out public.pem


Sing Operation using RSA Private Key

#openssl sha1 -sign private.pem test > sig.bin

Verify Operation using RSA Public Key

#openssl sha1 -verify public.pem -signature sig.bin test


OpenSSL ECDSA sign and verify file

 EC Key generation with Specific Curves

openssl ecparam -genkey -name brainpoolP512r1 -noout -out private.pem


EC Public Key Generation 

openssl ec -in private.pem -pubout -out public.pem


Sign Verify:

openssl dgst -sha1 -sign private.pem test > signature.bin

openssl dgst -sha1 -verify public.pem -signature signature.bin test


Openssl ecparam list_curves , openssl list ec curves

  openssl ecparam -list_curves


[root@hyd1688 ec_sign_verify]# openssl ecparam -list_curves

  secp112r1 : SECG/WTLS curve over a 112 bit prime field

  secp112r2 : SECG curve over a 112 bit prime field

  secp128r1 : SECG curve over a 128 bit prime field

  secp128r2 : SECG curve over a 128 bit prime field

  secp160k1 : SECG curve over a 160 bit prime field

  secp160r1 : SECG curve over a 160 bit prime field

  secp160r2 : SECG/WTLS curve over a 160 bit prime field

  secp192k1 : SECG curve over a 192 bit prime field

  secp224k1 : SECG curve over a 224 bit prime field

  secp224r1 : NIST/SECG curve over a 224 bit prime field

  secp256k1 : SECG curve over a 256 bit prime field

  secp384r1 : NIST/SECG curve over a 384 bit prime field

  secp521r1 : NIST/SECG curve over a 521 bit prime field

  prime192v1: NIST/X9.62/SECG curve over a 192 bit prime field

  prime192v2: X9.62 curve over a 192 bit prime field

  prime192v3: X9.62 curve over a 192 bit prime field

  prime239v1: X9.62 curve over a 239 bit prime field

  prime239v2: X9.62 curve over a 239 bit prime field

  prime239v3: X9.62 curve over a 239 bit prime field

  prime256v1: X9.62/SECG curve over a 256 bit prime field

  sect113r1 : SECG curve over a 113 bit binary field

  sect113r2 : SECG curve over a 113 bit binary field

  sect131r1 : SECG/WTLS curve over a 131 bit binary field

  sect131r2 : SECG curve over a 131 bit binary field

  sect163k1 : NIST/SECG/WTLS curve over a 163 bit binary field

  sect163r1 : SECG curve over a 163 bit binary field

  sect163r2 : NIST/SECG curve over a 163 bit binary field

  sect193r1 : SECG curve over a 193 bit binary field

  sect193r2 : SECG curve over a 193 bit binary field

  sect233k1 : NIST/SECG/WTLS curve over a 233 bit binary field

  sect233r1 : NIST/SECG/WTLS curve over a 233 bit binary field

  sect239k1 : SECG curve over a 239 bit binary field

  sect283k1 : NIST/SECG curve over a 283 bit binary field

  sect283r1 : NIST/SECG curve over a 283 bit binary field

  sect409k1 : NIST/SECG curve over a 409 bit binary field

  sect409r1 : NIST/SECG curve over a 409 bit binary field

  sect571k1 : NIST/SECG curve over a 571 bit binary field

  sect571r1 : NIST/SECG curve over a 571 bit binary field

  c2pnb163v1: X9.62 curve over a 163 bit binary field

  c2pnb163v2: X9.62 curve over a 163 bit binary field

  c2pnb163v3: X9.62 curve over a 163 bit binary field

  c2pnb176v1: X9.62 curve over a 176 bit binary field

  c2tnb191v1: X9.62 curve over a 191 bit binary field

  c2tnb191v2: X9.62 curve over a 191 bit binary field

  c2tnb191v3: X9.62 curve over a 191 bit binary field

  c2pnb208w1: X9.62 curve over a 208 bit binary field

  c2tnb239v1: X9.62 curve over a 239 bit binary field

  c2tnb239v2: X9.62 curve over a 239 bit binary field

  c2tnb239v3: X9.62 curve over a 239 bit binary field

  c2pnb272w1: X9.62 curve over a 272 bit binary field

  c2pnb304w1: X9.62 curve over a 304 bit binary field

  c2tnb359v1: X9.62 curve over a 359 bit binary field

  c2pnb368w1: X9.62 curve over a 368 bit binary field

  c2tnb431r1: X9.62 curve over a 431 bit binary field

  wap-wsg-idm-ecid-wtls1: WTLS curve over a 113 bit binary field

  wap-wsg-idm-ecid-wtls3: NIST/SECG/WTLS curve over a 163 bit binary field

  wap-wsg-idm-ecid-wtls4: SECG curve over a 113 bit binary field

  wap-wsg-idm-ecid-wtls5: X9.62 curve over a 163 bit binary field

  wap-wsg-idm-ecid-wtls6: SECG/WTLS curve over a 112 bit prime field

  wap-wsg-idm-ecid-wtls7: SECG/WTLS curve over a 160 bit prime field

  wap-wsg-idm-ecid-wtls8: WTLS curve over a 112 bit prime field

  wap-wsg-idm-ecid-wtls9: WTLS curve over a 160 bit prime field

  wap-wsg-idm-ecid-wtls10: NIST/SECG/WTLS curve over a 233 bit binary field

  wap-wsg-idm-ecid-wtls11: NIST/SECG/WTLS curve over a 233 bit binary field

  wap-wsg-idm-ecid-wtls12: WTLS curve over a 224 bit prime field

  Oakley-EC2N-3:

        IPSec/IKE/Oakley curve #3 over a 155 bit binary field.

        Not suitable for ECDSA.

        Questionable extension field!

  Oakley-EC2N-4:

        IPSec/IKE/Oakley curve #4 over a 185 bit binary field.

        Not suitable for ECDSA.

        Questionable extension field!

  brainpoolP160r1: RFC 5639 curve over a 160 bit prime field

  brainpoolP160t1: RFC 5639 curve over a 160 bit prime field

  brainpoolP192r1: RFC 5639 curve over a 192 bit prime field

  brainpoolP192t1: RFC 5639 curve over a 192 bit prime field

  brainpoolP224r1: RFC 5639 curve over a 224 bit prime field

  brainpoolP224t1: RFC 5639 curve over a 224 bit prime field

  brainpoolP256r1: RFC 5639 curve over a 256 bit prime field

  brainpoolP256t1: RFC 5639 curve over a 256 bit prime field

  brainpoolP320r1: RFC 5639 curve over a 320 bit prime field

  brainpoolP320t1: RFC 5639 curve over a 320 bit prime field

  brainpoolP384r1: RFC 5639 curve over a 384 bit prime field

  brainpoolP384t1: RFC 5639 curve over a 384 bit prime field

  brainpoolP512r1: RFC 5639 curve over a 512 bit prime field

  brainpoolP512t1: RFC 5639 curve over a 512 bit prime field

  SM2       : SM2 curve over a 256 bit prime field


Saturday, June 22, 2019

OpenSSL: Generating an RSA Key From the Command Line

OpenSSL: Generating an

RSA Key From the

Command Line



 

Generate a 2048 bit RSA Key



openssl genrsa  -out private.pem 2048


Generate a 3072 bit RSA Key



openssl genrsa  -out private.pem 3072


Generate a 4096 bit RSA Key



openssl genrsa  -out private.pem 4096


prints out the various public or private key

components in plain text in addition to the

encoded version

openssl rsa -text -in private.pem



 

Export the RSA Public Key to a File



openssl rsa -in private.pem -outform PEM -pubout -out public.pem


   

The Generated Key Files

The generated files are base64-encoded encryption keys in plain text format.
If you select a password for your private key, its file will be encrypted with
your password. Be sure to remember this password or the key pair becomes
useless.

The private.pem file looks something like this:

-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEA6JtguftyimdvYIG4X7r6MmrPHBlhs9CrxPZ0nAb/a7bCDxav
/GSEKVQfE6JBI1Ehc7D8ylpI607hTXuBTqVA4Q/nWKPThdeknIl3ORhFlHfHjBhD
H60BwweOuV7mj0lT+gwdqUP/8HtcO6KkiKtXOZ7clZNPyD8kb/A5pq25ucMlcxhO
/aDteFmSudaftwp5CYFfLyX+BIel3mBqQ95DdQmZROrtgDQuspU4kCfMflbyPYso
JgB3uLV/RH7IWvUHwR+IAVjkjluBWdACOcOvEtcss/gI7UIJ2RgcAfO7zICPIk7B
4X49/dzmqDFjBMrm/DiSTbcBRoDHuEvtt59x1wIDAQABAoIBAFPRqclbEqtNGpVs
KURV3FLOqlM10j85sqwHI34WB3SJJuTJCCGrFvTNm2U30sEnOya1YGKKpjwk8Is7
Nh1g70AquvL2FgLk8ix2XL/2PxyBDSculwGTFk9xKb0itXJsuhYgx493MYM28MWM
lj2pgIUC+fnsW5ONLVQo/J1TfNmzCJXcQ3pBq428oljtc5HUEgd9WYr79nwCnb4I
nsH8rJ7JisLrZEVX2sjO7V7JiMJJ/BoSx5XVTREo2ESTsOxpXnHAsbWYof6fTZ9V
4zPI80canzfYnl6Xkm9F8eH+zI5eJRwRh4MlZ7DLtRGh80i370EHTm8k8vKBB4oV
p1/zigECgYEA/AqIFP89ItpwfhGZzNQm1OwJk8dT0zwB428OJanpGnrRqcGmHFtM
/hKJ1L+iBPsejzJJ4GlF12QWmQTsXf7YQjQz10eO8/Eb98JnFTZRV2M6t4yg5J//
N8BqAiq47tcSMaTQoF+m7Y2ow+EWeOZeMFfbRLEazU3AjjBDxw+wVysCgYEA7EKz
VYARhGEd+sEKvLGMiBDQPRfN/RTpYf6D6DclN/FOYSfMXtaMpue+fP0FspJHqs4K
zTGpmPnYugxzT01CHg8C5N0PD5TorxHSWdR8U1lu8oZ5lt5eCjeipClCnwcBlFxL
GabRTLqSxX60LwhzC1ufCx0YBIqSgCzU+ElKOgUCgYANPLhc8fLSC8rwtBfxzAqm
ECeInWVnqLUorsJ9c+kMPPsaAVOqFZl7lpmqlM37mPzH5IpAwQasA1O0ga+wWBwf
jgJTAi0d3sHrR0iGsq2e+1UwIrCokUakNPTcXEYONTl9ZfyXD68CtvfwIbg+bUrx
GwwnFW4k7jp4vUwx/j7ytQKBgBk8JpuDSluxY9pctCDjdfcylItx93aIvUTSQpST
D06iX5TRA2s9z1gkeJwxCmLAbRc5Wr4AB/Vm+lck7UwTHHTJda2sTueDKDdK2ATw
RTdB3i/ZXTNYHQNKXfzay1rhDLIkCYF75+8iHnspxWUgqekUqDAvs1kI1A0MvNKo
QV1hAoGAGY4uqbcqVdrdCp/qe5NFWB+9gWVMq88TBppOXIPaM7MWOJR2mtH4e9Q4
sM1JLOfcCYjYeKVhED7woHmwtl4fy048+PHxGhPoN3ph7mmLd40w8dltFzT6DASe
QhKHiKlMXlmBfz2Et9oOdnQIBXiDUCHUtekEL4iiGguxdlhsI3Q=
-----END RSA PRIVATE KEY-----

 

The public key, public.pem, file looks like:



-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6JtguftyimdvYIG4X7r6
MmrPHBlhs9CrxPZ0nAb/a7bCDxav/GSEKVQfE6JBI1Ehc7D8ylpI607hTXuBTqVA
4Q/nWKPThdeknIl3ORhFlHfHjBhDH60BwweOuV7mj0lT+gwdqUP/8HtcO6KkiKtX
OZ7clZNPyD8kb/A5pq25ucMlcxhO/aDteFmSudaftwp5CYFfLyX+BIel3mBqQ95D
dQmZROrtgDQuspU4kCfMflbyPYsoJgB3uLV/RH7IWvUHwR+IAVjkjluBWdACOcOv
Etcss/gI7UIJ2RgcAfO7zICPIk7B4X49/dzmqDFjBMrm/DiSTbcBRoDHuEvtt59x
1wIDAQAB
-----END PUBLIC KEY-----


Encrypt/Decrypt Using RSA Public/Private Key

Step:-1
Create Demo.txt


cat demo.txt
Hello This is Demo for Encrypt file


Step:-2
Encrypt Demo.txt File using RSA Public Key
openssl rsautl -encrypt -in demo.txt -pubin -inkey public.pem -out demo_encrypted.pem


Step:-3
Decrypt Demo.txt Encrypted file using RSA Private Key
openssl rsautl -encrypt -in demo.txt -pubin -inkey public.pem -out demo_encrypted.pem


Step:4
Check the Decrypted file its should be same as demo.txt
cat demo_descrypted.pem
Hello This is Demo for Encrypt file

Top ChatGPT Prompts for DevOps Engineers

  As a DevOps engineer, your role involves juggling complex tasks such as automation, infrastructure management, CI/CD pipelines, and troubl...