复习linux——安全加密

1.对称加密算法特性
常见对称加密算法:DES、AES

2.非对称加密特性
常见非对称加密算法:RSA、DSA、ECC

3.单向哈希算法特性
常见算法:md5、sha1、sha224、
常见工具:md5sum、openssl

CA和证书

获取证书方法

自签名的证书:自己签发自己的公钥
使用证书授权机构:生成证书请求、将证书请求csr发送给CA、CA签名颁发证书

X.509证书结构

版本号、序列号、签名算法、颁发者、有效期限、主体名称

安全协议SSL/TLS

SSL/TLS组成

Handshake协议:包括协商安全参数和密码套件、服务器身份认证、密钥交换
ChangeCipherSpec协议:一条消息表明握手协议已经完成
Alert协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别
Record协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等

HTTPS

HTTPS协议:就是http协议和SSL/TLS协议的组合

OpenSSL加密工具

包括三个组件
libcrypto:用于实现加密和解密的库
libssl:用于实现ssl通信协议的安全库
openssl:多用途命令行工具

openssl命令

openssl的配置文件    /etc/pki/tls/openssl.cnf

两种运行模式:交互模式和批处理模式
三种子命令:标准命令、消息摘要命令、加密命令

openssl命令单向哈希加密

工具:openssl dgst
算法:md5sum,sha1sum,sha224sum,sha256sum
openssl dgst [-hex默认] /PATH/SOMEFILE
补充知识:
MAC:单向加密的一种延伸应用
HMAC:使用哈希算法

openssl命令生成用户密码

openssl passwd

openssl命令生成随机数

随机数生成器:伪随机数字,利用键盘和鼠标,块设备中断生成随机数
/dev/random 仅从熵池返回随机数:随机数用尽,阻塞
/dev/urandom 从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞
openssl rand -base64|-hex NUM

openssl命令实现PKI(公共密钥加密体系)

生成私钥
openssl genersa -out /PATH/TO/PRIVATEKEY.FILE [-aes128] [-aes256]
解密加密的私钥 
openssl rsa -in /PATH/TO/PRIVATEKEY.FILE -out /PATH/TO/PRIVATEKEY2.FILE
从私钥中提取公钥
openssl rsa -in PRIVATEKEY.FILE -puboot -out PUBLUICKEY.FILE

建立私有CA实现证书申请颁发

证书申请及签署步骤

1.生成证书申请请求
2.RA核验
3.CA签署
4.获取证书

openssl配置文件的三种策略
match:要求盛情填写的信息跟CA设置信息必须一致
optional:可有可无,跟CA设置信息可不一致
supplied:必须填写这项申请信息

创建私有CA

创建CA所需要的文件

生成证书索引数据库文件

touch /etc/pki/CA/index.txt

指定第一个颁发证书的序列号

echo 01 > /etc/pki/CA/serial

生成CA私钥

cd /etc/pki/CA/
openssl genersa -out private/cakey.pem 2048

生成CA自签名证书

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成i请求时用到的私钥文件
-days n:证书的有效期限
-out :证书保存路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WeChatMsg中文版开源软件 提取导出微信聊天记录为文档-提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存

功能 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 支持导出视频、表情包 导出联系人到CSV 导出视频到HTML 导出表情包到HTML 显示和导出拍一拍等系统消息 说明 :如果出现闪退问题&#…

AMEYA360:海凌科个位数微安级功耗蓝牙WiFi模块 BLE5.2蓝牙+2.4G WiFi二合一

蓝牙WiFi模块优势 蓝牙技术大多用来做短距离的设备间通信,例如无线耳机和智能手环等产品,WiFi技术则为产品提供了相对更高速的长距离数据传输能力,适用于连接互联网和局域网。 在各种场景的实际应用中,会经常出现需要多个设备之间…

Linux命令行控制小米电源开关

飞灵科技产品 flyelf-tech.com,flyelf.taobao.com 最近有需求通过命令控制局域网内小米电源开关,以便于写脚本对产品进行反复上电的启动测试。参考了这篇文章:https://blog.csdn.net/2301_77209380/article/details/129797846 获取小米设备的…

化学性质Vamagloxistat乙醇酸氧化酶抑制剂 2408241-62-1科研

Vamagloxistatist,也被称为乙醇酸氧化酶抑制剂,是一种有机化合物,化学式为C35H42N6O6。它是一种药物化学成分,被应用于医药科研领域用。 Vamagloxistatist是一种具有高度活性的化合物,具有多种化学性质。它是一种弱酸…

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密恢复

在计算机技术飞速发展的今天,越来越多的企业走向了数字化办公模式,极大地方便了企业的生产运营,为企业带来了更高的效率。但网络威胁无处不在,网络威胁手段随着计算机技术的不断发展也在不断增加。近期,云天数据恢复中…

C#拼接JSON

一、业务背景 最近项目需要与U8c对接,实现增删改查,借此机会,梳理一下C#解析Json字符串的问题。 这篇文章,先以新增接口为例。 二、新增接口 查看需要传入的json格式。 拼接json,无非就是{}和[]的来回嵌套。 首先&am…

node.js事件循环相关步骤

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它使用事件驱动、非阻塞式 I/O 模型,使其轻量和高效。Node.js 的核心特性之一是其事件循环机制。下面是对 Node.js 事件循环每个步骤的讲解: 1. 定时器阶段(Timers Pha…

Java,自带的排序方法

假如定义了一个学生类,想根据学生的总分对学生进行排序 案例(进去是Student类的定义,用ctrlf 搜Collection,可以找到具体应用) Collection.sort(要排序的集合,new 一个比较器(){ 大括号里是让重写比较器的…

C++数据结构——二叉搜索树详解

目录 一,关于二叉搜索树 1.1 概念 1.2 基本结构 二,二叉搜索树接口实现 2.1 插入 2.2 查找 2.3 打印 2.4* 删除 三,二叉搜索树接口递归实现 3.1 查找 3.2 插入 3.3 删除 四,二叉搜索树的默认成员函数 五,…

Kotlin中object关键字的使用

定义 在 Kotlin 中,object 关键字可以用来声明对象。对象可以分为两种: 对象表达式:一种表达式,可以直接赋值给变量或常量。对象声明:一种类似于 Java 中的静态类的声明。 用途 对象可以用于以下场景: …

bootstap table表格, 获取当前点击的table元素在该行是第几个

背景 有这样一个需求, table表格中是统计数据, 要求点击每个单元格可实现导出统计的底层数据 数据都是可点击导出的, 思路 获取行bootstap 有个index参数, 所哟要获取当前行第几列, 要获取当前点击的table元素在其所在行中的位置(即第几个)&#xff…

【ARM 嵌入式 编译系列 4.3 -- GCC 编译设置 单个函数优化等级】

文章目录 设置特定函数的优化等级设置特定函数的优化等级 在使用 GCC (GNU Compiler Collection) 编译程序时,有时可能需要指定某个函数不要被编译器优化,以便进行调试或其他目的。GCC 提供了几种方法来防止对特定函数的优化。 最常用的方法是在函数声明前使用 __attribute…

JVM 垃圾回收详解

前言 什么是垃圾? 垃圾是指运行程序中没有任何引用指向的对象,需要被回收。 内存溢出和内存泄漏 内存溢出:经过垃圾回收之后,内存仍旧无法存储新创建的对象,内存不够溢出。 内存泄漏:又叫“存储泄漏”&#xff0…

MySQL数据库慢的原因

MySQL 慢的原因有很多,其中 IO 读写和并发请求是两个最常见的原因。 IO 读写 MySQL 数据库存储在磁盘上,因此数据查询需要先从磁盘读取数据,然后再进行处理。如果 IO 读写速度慢,就会导致数据查询速度变慢。 IO 读写速度慢的原…

7-3 jmu-Java-05集合(泛型)-10-GeneralStack(Java for PTA)

以前定义的IntegerStack接口,只能用于存放Integer类型的数据。然而对于栈来说,不管内部存放的是什么类型的数据,基本操作与元素的具体类型无关。 1. 编写一个通用的GeneralStack接口,接口中的操作对任何引用类型的数据都适用。 …

Docker使用5-Use bind mounts

写在前面 主题是Use bind mounts,这里是链接。本文主要学习持久化数据的另一种方式。 使用mount持久化数据 前文使用Volume持久化数据,这里使用另一种方式Mount持久化数据,就是把主机中的路径映射到容器内的路径。下图是两种方式的主要区别…

【docker】修改docker的数据目录

背景 主节点是分配了较少内存和存储的低配机器,因为我们系统的rancher是用docker镜像启动的,而rancher和docker的默认目录都放在/var/lib下面,而这个/var目录目前只分配10G的存储,导致节点存储报警。因此想修改docker的数据目录&…

idea添加外部jar包

在日常开发中在lib包的里面添加了外部的jar,如何将外部的包添加到java类库中,这样项目就可以引用相应的jar包,操作如下: 1.先将需要的jar复制到lib包如下,如下截图,图标前面没有箭头,表示还未添…

正则化实战( Lasso 套索回归,Ridge 岭回归)

Lasso 套索回归 导入包 import numpy as np from sklearn.linear_model import Lasso from sklearn.linear_model import SGDRegressor, LinearRegression原方程的计算结果 # 1. 创建数据集X,y X 2 * np.random.rand(100, 20) w np.random.rand(20, 1) b np.r…

C# 实时存储16进制数据,写入文件格式为Raw

1.示例代码 private void button1_Click(object sender, EventArgs e){byte[] data { 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28 }; //模拟要写入的数组List<byte[]> listBytes new List<byte[]>();listBytes.Add(data); //数组转集合RecData(listBytes);…