您的位置首页  散文精选

硬核推荐openssl(openssl是什么软件)

本文使用安装了 OpenSSL 的 Fedora 计算机。现在,Bob 可以阅读 Alice 发送给他的秘密消息:Bob 需要回复 Alice,

硬核推荐openssl(openssl是什么软件)

 

OpenSSL 是一个实用工具,它可以确保其他人员无法打开你的敏感和机密消息。

加密是对消息进行编码的一种方法,这样可以保护消息的内容免遭他人窥视一般有两种类型:密钥加密或对称加密公钥加密或非对称加密密钥加密secret-key encryption使用相同的密钥进行加密和解密,而公钥加密public-key encryption使用不同的密钥进行加密和解密。

每种方法各有利弊密钥加密速度更快,而公钥加密更安全,因为它解决了安全共享密钥的问题,将它们结合在一起可以最大限度地利用每种类型的优势公钥加密公钥加密使用两组密钥,称为密钥对一个是公钥,可以与你想要秘密通信的任何人自由共享。

另一个是私钥,应该是一个秘密,永远不会共享公钥用于加密如果某人想与你交流敏感信息,你可以将你的公钥发送给他们,他们可以使用公钥加密消息或文件,然后再将其发送给你私钥用于解密解密发件人加密的消息的唯一方法是使用私钥。

因此,它们被称为“密钥对”,它们是相互关联的如何使用 OpenSSL 加密文件OpenSSL是一个了不起的工具,可以执行各种任务,例如加密文件本文使用安装了 OpenSSL 的 Fedora 计算机如果你的机器上没有,则可以使用软件包管理器进行安装:。

alice$ cat /etc/fedora-releaseFedorarelease 33 (Thirty Three)alice$alice$ openssl versionOpenSSL1.1.1i FIPS 8 Dec 2020

alice$要探索文件加密和解密,假如有两个用户 Alice 和 Bob,他们想通过使用 OpenSSL 交换加密文件来相互通信步骤 1:生成密钥对在加密文件之前,你需要生成密钥对你还需要一个密码短语passphrase,每当你使用 OpenSSL 时都必须使用该密码短语,因此务必记住它。

Alice 使用以下命令生成她的一组密钥对:alice $ openssl genrsa -aes128 -out alice_private.pem 1024此命令使用 OpenSSL 的 genrsa命令生成一个 1024 位的公钥/私钥对。

这是可以的,因为 RSA 算法是不对称的它还使用了 aes128 对称密钥算法来加密 Alice 生成的私钥输入命令后,OpenSSL 会提示 Alice 输入密码,每次使用密钥时,她都必须输入该密码:

alice$ openssl genrsa -aes128 -out alice_private.pem 1024GeneratingRSA private key, 1024 bit long modulus (2 primes)

..........+++++..................................+++++eis 65537 (0x010001)Enterpass phrase for alice_private.pem:

Verifying- Enter pass phrase for alice_private.pem:alice$alice$alice$ ls -l alice_private.pem-rw-------.

1 alice alice 966 Mar 22 17:44 alice_private.pemalice$alice$ file alice_private.pemalice_private.pem:

PEM RSA private keyalice$Bob 使用相同的步骤来创建他的密钥对:bob$ openssl genrsa -aes128 -out bob_private.pem 1024Generating

RSA private key, 1024 bit long modulus (2 primes)..................+++++............................+++++

eis 65537 (0x010001)Enterpass phrase for bob_private.pem:Verifying- Enter pass phrase for bob_private.pem:

bob$bob$ ls -l bob_private.pem-rw-------.1 bob bob 986 Mar 22 13:48 bob_private.pembob$bob$ file bob_private.pem

bob_private.pem: PEM RSA private keybob$如果你对密钥文件感到好奇,可以打开命令生成的 .pem 文件,但是你会看到屏幕上的一堆文本:alice $ head alice_private.pem -----

BEGIN RSA PRIVATE KEY----- Proc-Type:4,ENCRYPTED DEK-Info: AES-128-CBC,E26FAC1F143A30632203F09C259200B9 pdKj8Gm5eeAOF0RHzBx8l1tjmA1HSSvy0RF42bOeb7sEVZtJ6pMnrJ26ouwTQnkL JJjUVPPHoKZ7j4QpwzbPGrz/hVeMXVT/y33ZEEA+

3nrobwisLKz+Q+C9TVJU3m7M /veiBO9xHMGV01YBNeic7MqXBkhIrNZW6pPRfrbjsBMBGSsL8nwJbb3wvHhzPkeM e+wtt9S5PWhcnGMj3T+

2mtFfW6HWpd8Kdp60z7Nh5mhA9+5aDWREfJhJYzl1zfcv Bmxjf2wZ3sFJNty+sQVajYfk6UXMyJIuWgAjnqjw6c3vxQi0KE3NUNZYO93GQgEF pyAnN9uGUTBCDYeTwdw8TEzkyaL08FkzLfFbS2N9BDksA3rpI1cxpxRVFr9+jDBz alice $

要查看密钥的详细信息,可以使用以下 OpenSSL 命令打开 .pem 文件并显示内容你可能想知道在哪里可以找到另一个配对的密钥,因为这是单个文件你观察的很细致,获取公钥的方法如下:alice $ openssl rsa -。

in alice_private.pem -noout -text Enter pass phrase for alice_private.pem: RSA Private-Key: (1024 bit,

2 primes) modulus:00:bd:e8:61:72:f8:f6:c8:f2:cc:05:fa:07:aa:99: 47:a6:d8:06:cf:09:bf:d1:66:b7:f9:

37:29:5d:dc:c7:11:56:59:d7:83:b4:81:f6:cf:e2:5f:16:0d:47: 81:fe:62:9a:63:c5:20:df:ee:d3:95:73:dc:

0a:3f:65:d3:36:1d:c1:7d:8b:7d:0f:79:de:80:fc:d2:c0: e4:27:fc:e9:66:2d:e2:7e:fc:e6:73:d1:c9:28:6b:

6a:8a:e8:96:9d:65:a0:8a:46:e0:b8:1f:b0:48:d4: db:d4:a3:7f:0d:53:36:9a:7d:2e:e7:d8:f2:16:d3: ff:

1b:12:af:53:22:c0:41:51publicExponent:65537 (0x10001) > exponent2:6e:aa:8c:6e:37:d0:57:37:13:c0:08:

7e:75:43:96: 33:01:99:25:24:75:9c:0b:45:3c:a2:39:44:69:84: a4:64:48:f4:5c:bc:40:40:bf:84:b8:f8

:0f:1d:7b:96:7e:16:00:eb:49:da:6b:20:65:fc:a9:20:d9:98: 76:ca:59:e1coefficient:68:9e:2e:fa:a3:a4:

72:1d:2b:60:61:11:b1:8b:30: 6e:7e:2d:f9:79:79:f2:27:ab:a0:a0:b6:45:08:df: 12:f7:a4:3b:d9:df:c5:

6e:c7:e8:81:29:07:cd:7e:47:99:5d:33:8c:b7:fb:3b:a9:bb:52:c0:47:7a:1c:e3:64:90:26 alice $ 步骤 2:提取公钥注意,公钥是你可以与他人自由共享的密钥,而你必须将私钥保密。

因此,Alice 必须提取她的公钥,并将其保存到文件中:alice$opensslrsa-inalice_private.pem-pubout>alice_public.pemEnter pass phrase for alice_private.pem:

writingRSAkeyalice$alice$ls-l*.pem-rw-------.1alicealice966Mar2217:44alice_private.pem-rw-rw-r--.1alice

alice272Mar2217:47alice_public.pemalice$你可以使用与之前相同的方式查看公钥详细信息,但是这次,输入公钥 .pem 文件:alice $ alice $ openssl rsa -

in alice_public.pem -pubin -text -noout RSA Public-Key: (1024 bit) Modulus:00:bd:e8:61:72:f8:f6:c8:f2

:cc:05:fa:07:aa:99: 47:a6:d8:06:cf:09:bf:d1:66:b7:f9:37:29:5d:dc:c7:11:56:59:d7:83:b4:81:f6:cf:e2

:5f:16:0d:47: 81:fe:62:9a:63:c5:20:df:ee:d3:95:73:dc:0a:3f: $ Bob 可以按照相同的过程来提取他的公钥并将其保存到文件中:bob$openssl

rsa-inbob_private.pem-pubout>bob_public.pemEnter pass phrase for bob_private.pem:writingRSAkeybob$bob

$ls-l*.pem-rw-------.1bobbob986Mar2213:48bob_private.pem-rw-r--r--.1bobbob272Mar2213:51bob_public.pem

bob$步骤 3:交换公钥这些公钥在 Alice 和 Bob 彼此交换之前没有太大用处有几种共享公钥的方法,例如使用 scp命令将密钥复制到彼此的工作站将 Alice 的公钥发送到 Bob 的工作站:alice

$ scp alice_public.pem bob@bob-machine-or-ip:/path/ 将 Bob 的公钥发送到 Alice 的工作站:bob $ scp bob_public.pem alice

@alice-machine-or-ip:/path/ 现在,Alice 有了 Bob 的公钥,反之亦然:alice$ls-lbob_public.pem-rw-r--r--.1alicealice272

Mar2217:51bob_public.pemalice$bob$ls-lalice_public.pem-rw-r--r--.1bobbob272Mar2213:54alice_public.pem

bob$步骤 4:使用公钥交换加密的消息假设 Alice 需要与 Bob 秘密交流她将秘密信息写入文件中,并将其保存到 top_secret.txt中由于这是一个普通文件,因此任何人都可以打开它并查看其内容,这里并没有太多保护:。

alice$alice$ echo "vim or emacs ?" > top_secret.txtalice$alice$ cat top_secret.txtvimor emacs ?alice$

要加密此秘密消息,Alice 需要使用 openssls -encrypt命令她需要为该工具提供三个输入:秘密消息文件的名称Bob 的公钥(文件)加密后新文件的名称alice$opensslrsautl。

-encrypt-inkeybob_public.pem-pubin-intop_secret.txt-outtop_secret.encalice$alice$ls-ltop_secret.*-rw-rw-r--.

1alicealice128Mar2217:54top_secret.enc-rw-rw-r--.1alicealice15Mar2217:53top_secret.txtalice$alice$加密后,原始文件仍然是可见的,而新创建的加密文件在屏幕上看起来像乱码。

这样,你可以确定秘密消息已被加密:alice$cattop_secret.txtvimoremacs?alice$alice$cattop_secret.encsuM)M&>N}dmCy92#1Xq

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186