OpenSSL在i.MX8MP开发板上的应用

2023-10-17 12:40
文章标签 应用 开发板 openssl mx8mp

本文主要是介绍OpenSSL在i.MX8MP开发板上的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

飞凌嵌入式OKMX8MP-C开发板采用NXP i.MX8M Plus高性能处理器开发,AI计算能力高达2.3TOPS,可满足轻量级边缘计算需求。同时灵活的I/O接口配置和先进丰富的多媒体资源,方便客户应用程序开发。

在OKMX8MP-C开发板中,飞凌移植了OpenSSL工具,OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

今天小编为大家分享一些OpenSSL在OKMX8MP-C开发板上的简单应用。

OpenSSL分为交互模式和批处理模式,直接输入OpenSSL然后按回车键进入交互模式,输入带命令选项的OpenSSL进入批处理模式。

1

交互模式

version:用来打印版本以及 OpenSSL其他信息。

用法:version-[avbofp]

举例:version-a打印所有信息

版本号和版本发布日期:OpenSSL1.1.1g,2020年4月21日 使用库构建的选项:options 存储证书和私钥的目录:OPENSSLDIR

passwd:生成各种口令密文。

用法: opensslpasswd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin][-noverify] [-quiet] [-table] {password}

举例: passwd-cryp 默认选项,生成标准的unix口令密文。

passwd-1 生成md5口令密文。

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参数文件。

gendsa-out dsakey.pem dsaparam.pem 根据DSA参数文件生成DSA密钥。

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

2

批处理模式

生成密码功能

openssl rand: 用来产生伪随机字节

用法:openssl rand [-out file] [-base64] [-hex] num

-out file 写入文件

-base64 base64编码输出

-hex 16进制编码输出

举例:以生成base64编码的随机数为例

消息摘要算法应用

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 ] [file...]

举例:用SHA1算法计算文件openssl1.txt的哈希值。

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

编解码应用

给文件openssl1.txt用base64编码,输出到文件jiami.txt。

最后,小编为大家介绍一种测试OpenSSL性能的方法。

OpenSSL性能测试

openssl speed:此命令用于测试库的性能。

用法:openssl speed [md5][rsa2048][rmd160]

测试生成不同的密钥的速度。

以RSA-2048为例,分别测试OpenSSL在OKMX8MM-C、OKMX8MQ-C 和 OKMX8MP-C这3款开发板上的性能对比,给大家提供一个参考。

OKMX8MM-C开发板

OKMX8MQ-C开发板

OKMX8MP-C开发板

从以上测试结果可以看出,OKMX8MM-C开发板私钥每秒生成84.5次,OKMX8MQ-C开发板私钥每秒生成120.5次,而OKMX8MP-C开发板的私钥每秒生成148.1次,由此可见,在OpenSSL性能这一方面,OKMX8MP-C开发板获胜。

这篇关于OpenSSL在i.MX8MP开发板上的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225473

相关文章

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima