OpenSSL学习笔记

加密算法介绍:

  对称加密:

      DES:date encrption standard,56bit

      3DES:

      AES: Advanced

          AES192,AES256,AES512

      Blowfish

  单向加密

    MD4,MD5

    SHA1, SHA192,SHA256,SHA384

    CR3-32

  公钥加密:(加密和签名)

    身份认证(数字签名)

    数据加密

    密钥交换

   RSA:加密、签名

   DSA:签名

   ELGamal

OpenSSL:SSL的开源实现

  libcrypto: 加密库

  libssl:  TLS/SSL的实现

    基于会话的,实现身份认证,数据机密性和会话完整性的TLS/SSL库

  openssl:多用途命令行工具

    实现私有证书颁发机构

子命令

测试opensll对加密算法支持的速度 speed: openssl speed des

加密和解密 enc  (man enc)

  加密(encrypted)

openssl enc -des3 -salt -a -in inittab -out inittab.des3     #inittab是被加密的文件
  解密(decrypted )

openssl enc -des3 -d -salt -a -in inittab.des3 -out inittab

提取信息的特征码(SHA、MD5)

openssl dgst -md5 inittab
openssl dgst -sha1 inittab

加密密码 (通过whatis passwd,可以得知应该man sslpasswd)

第一个$表示加密算法,第二个$表示salt

生成随机数

openssl rand -base64  15

openssl实现私有CA

1.生成一对密钥

1.1生成私钥(公钥是从私钥中提取而来)

openssl genrsa -out server.key 2048    #或者:openssl genrsa 2048 > server.key

1.2 赋权

chmod 600 server.key

1.3 提取公钥

openssl rsa -in server.key -pubout

2.生成自签证书

openssl req -new -x509 -key server.key -out server.crt -days 365

查看证书信息

openssl x509 -text -in server.crt

时间: 2024-08-01 15:03:40

OpenSSL学习笔记的相关文章

Chapter 2. OpenSSL的安装和配置学习笔记

Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装过openSSL,这次正好在Linux上面实现一下. 希望各位园友门纠错,征求意见中. 2.1.1 安装OpenSSL的系统环境和编译环境 测试环境:Linux MINT 16 Petra ? 1 2 3 4 5 6 $ lsb_release -a #查看linux发行版本系统信息 No LSB

https学习笔记三----OpenSSL生成root CA及签发证书

在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root CA及签发子证书.学习主要参考官方文档:https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html# 一.openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用.健壮.功能完备

windows下scrapy框架学习笔记—'scrapy' 不是内部或外部命令

最近几天在深入的学习scrapy框架,但是装完各种需要的基础包之后却发现scrapy命令在别的路径下都用不了,我一开始是把python安装在F:\Python路径下的,安装了scrapy后它默认都会安装在这个路径下,scrapy在路径F:\Python\Scripts路径下,我的scrapy命令只能在此路径下用,因此创建什么工程也都只能在此文件下. 想了一下它的工作原理:它在F:\Python\Scripts路径下,就会在Scripts文件下存在一个scrapy批处理文件,那么在DOS下想要命令

MQTT学习笔记——树莓派MQTT客户端 使用Mosquitto和paho-python

0 前言 本文说明如何在树莓派上安装Mosquitto.本文通过两个简单的例子说明树莓派中如何使用MQTT协议实现消息订阅,这些例子包括Mosquitto_sub指令实现消息订阅和paho-python扩展库实现GPIO端口的远程控制.本文中使用了两个工具--Mosquitto paho-python,其中Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的消息通信简单易用:另外,paho-python是一个

squid 学习笔记

Squid学习笔记 1.安装前的配置 编译安装之前需要校正的参数主要包括File Descriptor和Mbuf Clusters. 1.File Descriptor 查看文件描述符的限制数目: ulimit –n 调整文件描述符的数目需要3步: step 1,编辑系统头文件/usr/include/bits/types.h define __FD_SIZIEFD 8192 step 2,调整内核的FD限制数目 echo 8192 > /proc/sys/fs/file-max step 3,

PowerShell 学习笔记——PS On MacOS

? PowerShell 学习笔记--PS On MacOS ? I remember that there is a command line tool on Mac OS X using for connecting to Microsoft Azure.  But now, Microsoft is developing MacOS version PowerShell – PowerShell for MacOS v6.0 alpha.  Let's see it. 1. Downloa

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开