3.4.3 实例——用非对称加密算法加密.doc_第1页
3.4.3 实例——用非对称加密算法加密.doc_第2页
3.4.3 实例——用非对称加密算法加密.doc_第3页
3.4.3 实例——用非对称加密算法加密.doc_第4页
3.4.3 实例——用非对称加密算法加密.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4.3 实例用非对称加密算法加密文件 用GnuPG加密文件 用OpenSSL加密文件 用GnuPG加密文件1创建密钥对创建一个用来发送加密数据和进行解密数据的密钥。执行gpg命令,会在主目录下创建一个.gnupg子目录。在该子目录里面有一个gpg.conf的配置文件,它里面是gpg工具的各种选项及其默认设置值。执行gpg -gen-key命令,生成密钥,如图3.99所示:图3.99 创建密钥在图3.99中,确认选择无误后,在最后一行输入“y”,回车。在图3.100中,根据提示输入相关信息。图3.100 创建密钥现在已经在.gnupg目录中生成了一对密钥且存在于文件中,进入.gnupg目录进行查看,如图3.101所示。图3.101 .gnupg目录内容2提取公共密钥为了使对方使用刚才生成的公共密钥,需要用命令将公共密钥提取出来,发给对方。执行命令gpg -export 5294DEAC pub.key,将公共密钥提取到文件pub.key中。3对方收到公共密钥收到别人的公共密钥后,执行命令gpg -import pub.key把这个公共密钥放到自己的pubring.gpg文件(钥匙环文件)里。命令的执行如图3.102所示。图3.102 保存别人的公共密钥执行gpg kv命令查看目前存放的别人的公共密钥,如图3.103所示:图3.103 查看公共密钥4对方用公共密钥加密文件对方执行gpg -ea -r 5294DEAC temp_dsa.txt对temp_dsa.txt文件进行加密。-e:代表加密。-a:代表ASCII格式。-r:后面是公共密钥标识。5294DEAC:为密钥标识。该命令执行后,在当前目录下生成了一个同名的temp_dsa.txt.asc的文件,即加密后的文件。具体执行过程如图3.104所示。图3.104 用公共密钥加密文件5我方对加密文件进行解密我方收到temp_dsa.txt.asc文件后,执行gpg -o ttemp_dsa.txt -d temp_dsa.txt.asc命令,用私有密钥对加密文件进行解密。-o:输出文件。-d:表示解密。在当前目录下生成了解密后的文件ttemp_dsa.txt。具体执行过程如图3.105所示。图3.105 对加密文件进行解密 用OpenSSL加密文件1安装openssl-0.9.8grootlocalhost # tar -xzvf openssl-0.9.8g.tar.gzrootlocalhost # cd openssl-0.9.8grootlocalhost openssl-0.9.8g# ./config -prefix=/root/opensslrootlocalhost openssl-0.9.8g# makerootlocalhost openssl-0.9.8g# make install2产生CA证书修改/openssl/ssl/f文件中的一行为:dir=/root/openssl/ssl/misc/demoCA,将产生的CA证书放置在/root/openssl/ssl/misc/demoCA下。rootlocalhost misc# cp ././ssl/f /etc/pki/tls/frootlocalhost misc# pwd/root/openssl/ssl/miscrootlocalhost misc# dirCA.pl CA.sh c_hash c_info c_issuer c_name demoCA执行CA证书产生脚本CA.sh,如图3.106所示:图3.106 执行CA证书产生脚本CA.shrootlocalhost misc# dir demoCA/cacert.pem certs crl index.txt newcerts private serialcacert.pem就是CA证书,CA私钥存放在private目录。3以CA产生次级证书在CA证书产生之后,就可以产生使用者或公司所需要的次级证书,次级证书可应用于数字签名或https等ssl传输加密。(1)产生使用者的密钥文件及CSR文件(Certificate Signing Request)。执行如下命令:rootlocalhost misc# /openssl/bin/openssl req -nodes -new -keyout private_key.pem -out private_req.pem -days 3650 -config /openssl/ssl/f如图3.107所示,根据提示输入相关信息。图3.107 产生使用者密钥文件及CSR文件(2)产生使用者之证书。执行如下命令:rootlocalhost misc# /openssl/bin/openssl ca -config /openssl/ssl/f -policy policy_anything -out public_key.pem -infiles private_req.pem如图3.108所示,根据提示输入相关信息。图3.108 产生使用者之证书(3)文件加密。public_key.pem为公开密钥,如果某人要加密传送一文件,则可以用公钥public_key.pem加密文件。假如某人要传送的文件是openssl_test.txt,加密后文件名为openssl_test.enc。执行如下命令即可:rootlocalhost misc# /openssl/bin/openssl smime -encrypt -in openssl_test.txt -out openssl_test.enc public_key.pem文件openssl_test.txt的内容为:adfkkjljdlgjlkjadfjal。(4)文件解密。收到对方发过来的加密文件openssl_test.enc后,执行如下命令直接查看其内容,如图3.109所示。图3.109 密文openssl_test.encrootlocalhost misc# less openssl_test.enc如图3.109所示为密文,不知其意。因此需要解密,执行如下命令,用私钥private_key.pem对openssl_test.enc文件解密:rootlocalh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论