OpenSSL工具在i.MX8MP上的应用

2023年07月22日 10:04    发布者:繁花之语
OpenSSL分为交互模式和批处理模式,直接输入OpenSSL然后按回车键进入交互模式,输入带命令选项的OpenSSL进入批处理模式。飞凌OKMX8MP-C开发板已经移植了OpenSSL工具,OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。今天小编为大家分享一些OpenSSL在OKMX8MP-C开发板上的简单应用。
1交互模式
https://img-blog.csdnimg.cn/img_convert/57f912b167f1e5708a29dc631a017e0e.png

version:用来打印版本以及 OpenSSL其他信息。用法:version-举例:version-a打印所有信息
https://img-blog.csdnimg.cn/img_convert/8aed0c8a79d3c4f71cb887c8f66f6ec9.png

版本号和版本发布日期:OpenSSL1.1.1g,2020年4月21日 使用库构建的选项:options 存储证书和私钥的目录:OPENSSLDIRpasswd:生成各种口令密文。用法: opensslpasswd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin][-noverify] [-quiet] [-table] {password}举例: passwd-cryp 默认选项,生成标准的unix口令密文。
https://img-blog.csdnimg.cn/img_convert/78829f17c338d4d3eb54602862a834a3.png

passwd-1 生成md5口令密文。
https://img-blog.csdnimg.cn/img_convert/5e029f56974a8b84525ef57abdc4e7f3.png​
DSA:用于处理DSA密钥、格式转换和打印信息。用法:openssldsa [-inform PEM|DER] [-outform PEM|DER] [-in filename][-passinarg] [-out filename] [-passout arg] [-des] [-des3] [-idea][-text][-noout] [-modulus] [-engine id]举例:dsaparam -out dsaparam.pem 1024 生成DSA参数文件。
https://img-blog.csdnimg.cn/img_convert/171b2393460e75c25eeb37fa0333840c.png
gendsa-out dsakey.pem dsaparam.pem 根据DSA参数文件生成DSA密钥。
https://img-blog.csdnimg.cn/img_convert/c84dc0efa0b60cdc52671f4b940b9974.png​

以上就是交互模式的简单使用方式,下面小编来为大家介绍批处理模式下的一些功能。

2批处理模式生成密码功能openssl rand: 用来产生伪随机字节用法:openssl rand [-out file] [-base64] [-hex] num-out file 写入文件-base64 base64编码输出-hex 16进制编码输出举例:以生成base64编码的随机数为例
https://img-blog.csdnimg.cn/img_convert/10a445cc45ba2811b87007b3e6a5b114.png​
消息摘要算法应用openssl dgst:用于数据摘要用法:openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1 ] [-c] [-d ] [-hex] [-binary] [-out filename] [-sign filename] [-passin arg] [-verify filename] [-prverify filename][-signature filename ] 举例:用SHA1算法计算文件openssl1.txt的哈希值。

https://img-blog.csdnimg.cn/img_convert/3c69bb1afb6430e89b0d335195c2cd1e.png

用SHA1算法计算文件openssl1.txt的哈希值,输出到文件sha1.txt。

https://img-blog.csdnimg.cn/img_convert/0404f03d6b56c075d3b670932abf29b5.png
编解码应用给文件openssl1.txt用base64编码,输出到文件jiami.txt。

https://img-blog.csdnimg.cn/img_convert/f8249f11ea1242b3e419cf7602b078d7.png​最后,小编为大家介绍一种测试OpenSSL性能的方法。

3 OpenSSL性能测试
openssl speed:此命令用于测试库的性能。用法:openssl speed 测试生成不同的密钥的速度。
以RSA-2048为例,分别测试OpenSSL在OKMX8MM-C、OKMX8MQ-C 和 OKMX8MP-C这3款开发板上的性能对比,给大家提供一个参考。
OKMX8MM-C开发板

https://img-blog.csdnimg.cn/img_convert/cce12896366788d426e95ffaf517f28c.png​
OKMX8MQ-C开发板

https://img-blog.csdnimg.cn/img_convert/c7bd7a8ed8e3d781e854c6a1ba3d088e.png​
OKMX8MP-C开发板

https://img-blog.csdnimg.cn/img_convert/1a34d5e57e4ac8a6e7cb60d732e6aa51.png​
从以上测试结果可以看出,OKMX8MM-C开发板私钥每秒生成84.5次,OKMX8MQ-C开发板私钥每秒生成120.5次,而OKMX8MP-C开发板的私钥每秒生成148.1次,由此可见,在OpenSSL性能这一方面,OKMX8MP-C开发板获胜。