位置: 编程技术 - 正文

Linux 中的 Openssl命令及实例代码(Linux 中的time函数)

编辑:rootadmin

推荐整理分享Linux 中的 Openssl命令及实例代码(Linux 中的time函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:Linux 中的time函数,Linux 中的进程标识符(PID)是什么?,Linux 中的信号处理操作,Linux 中的time函数,Linux 中的 lo:0,Linux 中的 lo:0,Linux 中的各项 CPU 利用率是这样算出来的,Linux 中的查看日志命令,内容如对您有帮助,希望把文章链接给更多的朋友!

openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能。

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。在OpenSSL被曝出现严重安全漏洞后,发现多数通过SSL协议加密的网站使用名为OpenSSL的开源软件包。由于这是互联网应用最广泛的安全传输方法,被网银、在线支付、电商网站、门户网站、电子邮件等重要网站广泛使用,所以该漏洞影响范围广大。

OpenSSL有两种运行模式:交互模式和批处理模式。

直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

对称加密算法

OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4。这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是位,其它算法使用的则是位。事实上,DES算法里面不仅仅是常用的DES算法,还支持三个密钥和两个密钥3DES算法。

非对称加密算法

OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法、DSA算法和椭圆曲线算法(EC)。DH算法一般用户密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名,当然,如果你能够忍受其缓慢的速度,那么也可以用于数据加密。DSA算法则一般只用于数字签名。

信息摘要算法

OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法,此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1。

密钥和证书管理

密钥和证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。

首先,OpenSSL实现了ASN.1的证书和密钥相关标准,提供了对证书、公钥、私钥、证书请求以及CRL等数据对象的DER、PEM和BASE的编解码功能。OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。并实现了私钥的PKCS#和PKCS#8的编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。

在此基础上,OpenSSL实现了对证书的X.标准编解码、PKCS#格式的编解码以及PKCS#7的编解码功能。并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。

事实上,OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。

实例

1、消息摘要算法应用例子

用SHA1算法计算文件file.txt的哈西值,输出到stdout:

用SHA1算法计算文件file.txt的哈西值,输出到文件digest.txt:

用DSS1(SHA1)算法为文件file.txt签名,输出到文件dsasign.bin。签名的private key必须为DSA算法产生的,保存在文件dsakey.pem中。

用dss1算法验证file.txt的数字签名dsasign.bin,验证的private key为DSA算法产生的文件dsakey.pem。

用sha1算法为文件file.txt签名,输出到文件rsasign.bin,签名的private key为RSA算法产生的文件rsaprivate.pem。

# 用sha1算法验证file.txt的数字签名rsasign.bin,验证的public key为RSA算法生成的rsapublic.pem。

2、对称加密应用例子

Linux 中的 Openssl命令及实例代码(Linux 中的time函数)

对称加密应用例子,用DES3算法的CBC模式加密文件plaintext.doc,加密结果输出到文件ciphertext.bin。

用DES3算法的OFB模式解密文件ciphertext.bin,提供的口令为trousers,输出到文件plaintext.doc。注意:因为模式不同,该命令不能对以上的文件进行解密。

用Blowfish的CFB模式加密plaintext.doc,口令从环境变量PASSWORD中取,输出到文件ciphertext.bin。

给文件ciphertext.bin用base编码,输出到文件base.txt。

用RC5算法的CBC模式加密文件plaintext.doc,输出到文件ciphertext.bin,salt、key和初始化向量(iv)在命令行指定。

3、Diffie-Hellman应用例子

使用生成因子2和随机的-bit的素数产生D0ffie-Hellman参数,输出保存到文件dhparam.pem

从dhparam.pem中读取Diffie-Hell参数,以C代码的形式,输出到stdout。

4、DSA应用例子应用例子

生成位DSA参数集,并输出到文件dsaparam.pem。

使用参数文件dsaparam.pem生成DSA私钥匙,采用3DES加密后输出到文件dsaprivatekey.pem

使用私钥匙dsaprivatekey.pem生成公钥匙,输出到dsapublickey.pem

从dsaprivatekey.pem中读取私钥匙,解密并输入新口令进行加密,然后写回文件dsaprivatekey.pem

5、RSA应用例子

产生位RSA私匙,用3DES加密它,口令为trousers,输出到文件rsaprivatekey.pem

从文件rsaprivatekey.pem读取私匙,用口令trousers解密,生成的公钥匙输出到文件rsapublickey.pem

用公钥匙rsapublickey.pem加密文件plain.txt,输出到文件cipher.txt

使用私钥匙rsaprivatekey.pem解密密文cipher.txt,输出到文件plain.txt

用私钥匙rsaprivatekey.pem给文件plain.txt签名,输出到文件signature.bin

用公钥匙rsapublickey.pem验证签名signature.bin,输出到文件plain.txt

从X.证书文件cert.pem中获取公钥匙,用3DES加密mail.txt,输出到文件mail.enc

从X.证书文件cert.pem中获取接收人的公钥匙,用私钥匙key.pem解密S/MIME消息mail.enc,结果输出到文件mail.txt

cert.pem为X.证书文件,用私匙key,pem为mail.txt签名,证书被包含在S/MIME消息中,输出到文件mail.sgn

验证S/MIME消息mail.sgn,输出到文件mail.txt,签名者的证书应该作为S/MIME消息的一部分包含在mail.sgn中

总结

以上所述是小编给大家介绍的Linux 中的 Openssl命令及实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Linux 中的Logwatch命令 logwatch命令是一个可定制和可插入式的日志监视系统,它通过遍历给定时间范围内的系统日志文件而产生日志报告。logwatch默认每天执行一次,可以从/etc

Linux 中的 Install命令 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,instal

Linux 中的Setfacl命令 setfacl命令是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名。选项-b,--remove-all:删除所有扩展的acl规则,

标签: Linux 中的time函数

本文链接地址:https://www.jiuchutong.com/biancheng/379742.html 转载请保留说明!

上一篇:Linux中的Syslog命令(linux的syslog配置)

下一篇:Linux 中的Logwatch命令(Linux 中的 lo:0)

  • 车辆使用费属于什么税收分类
  • 应付销售方代垫的运费计入什么科目
  • 进口增值税完税证明
  • 发票弄丢下一步怎么办
  • 子公司注销母公司合并报表处理
  • 支付利息的诉讼请求
  • 租赁收入无发票怎么做账
  • 印花税少提了怎么办
  • 技术研发费用计入什么科目
  • 公司组织游玩员招聘
  • 定额发票已经取得怎么办
  • 小规模减免附加税会计分录怎么做
  • 留存收益转增股本,另一方公司怎么做账
  • 一般纳税人企业所得税政策最新2023
  • 研发成功的产品卖出去怎么做账
  • 社保基数如何计算单位和个人承担多少
  • windows快速查询
  • 累计专项扣除比别人的多
  • 长期债权投资收回的利息 现金流量表
  • 个人投资额是什么意思
  • 开增值税专用发票必须走公账吗
  • 公司已经改名原来的公章还有效吗
  • php axios
  • 月底增值税怎么计提
  • 纳税人解除劳动合同证明
  • 深度优先python
  • thinkphp5自定义标签
  • 会计月末账务处理流程图
  • 委托银行收款的会计分录怎么写
  • Vite + Vue3 +Vant4构建项目时,按需引入使用Toast组件,引用 showToast 时出现编译报错的解决方案
  • 优胜美地国家公园简介
  • Asian elephants in West Bengal, India (© Avijan Saha/Minden Pictures)
  • 企业如何做账报税流程
  • 土地测绘费用会计科目
  • Vue3 中 createWebHistory 和 createWebHashHistory 的区别
  • vue使用scss报错
  • torchaudio教程
  • web前端开发 vue
  • arp-a命令怎么用
  • html常用标签有哪些
  • 出口退税退下来还得缴税吗
  • 凭证过账后发现了错误,如何处理
  • 结转损益的凭证需要打印吗
  • 出口不退税需要备案吗
  • 建筑公司包含哪些业务
  • DedeCMS V5.7 SP2前台文件上传漏洞
  • 农业用肥尽量不选择
  • mysql锁表机制
  • Sql Server中Substring函数的用法实例解析
  • 临时售楼处需要什么手续
  • 危废品处理费用会计处理
  • 事业单位劳务派遣工能长期干下去吗
  • 食堂的帐怎么做
  • 财政补贴的政策
  • 到期不付款跟客户怎么说
  • 解缴税费
  • 其他应收款属于什么会计要素
  • 可供出售金融资产公允价值变动
  • 房产税什么时候开始征收2023
  • 内账会计工作职责和工作流程
  • mac怎么共享wifi密码给iphone
  • win7系统安装无法继续怎么办
  • win7登录密码怎么改
  • xp关闭防火墙命令
  • hookproxy.dll
  • win7浏览器在c盘哪里
  • win7自带防火墙关闭后自己打开啥原因
  • 微软官方解决升级问题
  • 如何快速破局
  • win10任务栏跳来跳去
  • cocos2d::DrawPrimitives和DrawNode分别实现画板功能
  • bootstrap表单模板
  • linux shell $1
  • 深入理解ffmpeg pdf
  • 一步步教你用乐高拼个摩托车
  • JavaScript中的this指向
  • 支付给境外的咨询费需要什么资料
  • 成品油消费税税率包括哪些
  • 跨区域报验和预审的区别
  • 高山白茶和普通白茶的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设