#yyds干货盘点#openssl

与天地兮比寿,与日月兮齐光。这篇文章主要讲述#yyds干货盘点#openssl相关的知识,希望能为你提供帮助。
官网:??https://www.openssl.org/??????????????
OpenSSL计划在1998年开始,其目标是发明一套自由的加密工具,在互联网上使用。OpenSSL以Eric Young以及Tim Hudson两人开发的SSLeay为基础,随着两人前往RSA公司任职,SSLeay在1998年12月停止开发。因此在1998年12月,社群另外分支出OpenSSL,继续开发下去
OpenSSL管理委员会当前由7人组成有13个开发人员[3]具有提交权限(其中许多人也是OpenSSL管理委员会的一部分)。只有两名全职员工(研究员),其余的是志愿者
该项目每年的预算不到100万美元,主要依靠捐款。  TLS 1.3的开发由  Akamai 赞助
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连线者的身份。这个包广泛被应用在互联网的网页服务器上
其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。OpenSSL可以运行在OpenVMS、  Microsoft Windows以及绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统)
心脏出血漏D:OpenSSL 1.0.1版本(不含1.0.1g)含有一个严重漏D,可允许攻J 者读取服务器的内存信息。该漏D于2014年4月被公诸于世,影响三分之二的活跃网站
包括三个组件:
    libcrypto:用于实现加密和解密的库
    libssl:用于实现ssl通信协议的安全库
    openssl:多用途命令行工具
1. Base64 编码Base64是网络上最常见的用于传输  8Bit 字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法
?
base64的编码过程如下:
将每3个字节放入一个24位的缓冲区中,最后不足3个字节的,缓冲区的剩余部分用0来填补。然后每次取出6位(2的6次方为64,使用64个字符即可表示所有),将高2位用0来填充,组成一个新的字节,计算出这个新字节的十进制值,对应上面的编码表,输出相应的字符。这样不断地进行下去,就可完成对所有数据的编码工作。
按照以上规则对文本Man编码如下:
?

[root@centos8 ~]#echo -n Man | base64
TWFu
[root@centos8 ~]#echo TWFu | base64 -d
Man
[root@centos8 ~]#
[root@centos8 ~]#echo -n ab | base64
YWI=
[root@centos8 ~]#echo -n ab | base64 | base64 -d ab
[root@centos8 ~]#












2.openssl命令两种运行模式:
  交互模式
  批处理模式
三种子命令:
[root@centos8 ~]#openssl version
OpenSSL 1.1.1 FIPS11 Sep 2018
[root@centos8 ~]#opensslhelp
Standard commands
asn1parse caciphers cms
crl crl2pkcs7 dgstdhparam
dsa dsaparamececparam
enc engineerrstrgendsa
genpkey genrsahelplist
nseqocsppasswdpkcs12
pkcs7 pkcs8 pkeypkeyparam
[root@centos8 ~]#openssl
OpenSSL> help
Standard commands
asn1parse caciphers cms
crl crl2pkcs7 dgstdhparam
......
OpenSSL> ca --help
Usage: ca [options]
Valid options are:
-help Display this summary
-verboseVerbose output during processing
-config val A config file
......
OpenSSL> q
[root@centos8 ~]#











  消息摘要命令
  加密命令
3.   openssl命令对称加密工具:openssl enc, gpg
算法:3des, aes, blowfish, twofish
【#yyds干货盘点#openssl】enc命令:帮助:man enc
加密
man enc

openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher

[root@c7-157 ~]# openssl enc -e -des3-a -salt -in /fstab -out fstab.cipher
enter des-ede3-cbc encryption password:
Verifying - enter des-ede3-cbc encryption password:
You have new mail in /var/spool/mail/root
[root@c7-157 ~]# ls /
bindevfstabhomelib64mntprocrunsrvtmpvar
bootetcfstab.gpglibmediaoptrootsbinsysusrwang.pubkey
[root@c7-157 ~]# ls
20.shanaconda-ks.cfgbdjb.shfstab.cipherhellodb_innodb.sqltestlog.sql
You have new mail in /var/spool/mail/root
[root@c7-157 ~]# cat fstab.cipher
U2FsdGVkX19UMWCUae4hwixe4irrZWX+2kJeHm4c5uuuDibrZPIsWwDnzZKlHi8x
J2/s02mzi2Qfl8lmnHnPNycpZN8StVUP6cNvQBjo0ixXQdpkRKSmz2tBFU9Ja5ym
B2Nf/ObUSkPJKxjGDaYbmAZZ4htiBzsrvFbpziTI2uub5HLDc3mIEnw3Nrx909c7
j9zalALnVSwGjTaWBLxRPMUg3E+toyGUmfDmvrDbyMJ+Jf37xrCq2KhQmOp2+Hb3
GW3XgMB//SK84YYjag3cHAOYyPY4WWZ7CRfmndMcZDs4Vzq6yaLYbBY6eIkvwYUA
Ludl49zRse/5G1PNp6awZkfiVCViYMFcczCiC1PABddPFIG32RICRlaaOO/MjbRN
ZdxrWfOK8riSjBiF55jnyt12UmB6VeSLvuHjhypWpWDv9X0cykmGxWgOaklTFXZk

    推荐阅读