openssl生成证书

搭建Tornado Https服务器之Tornado Https服务器(8)

拜拜、爱过 提交于 2020-02-20 11:44:48
本次教程将记录如何配置https服务器,因为本着学习的态度我会将Centos 和Windows配置https服务器都记录一下。 参考来源: https://www.jianshu.com/p/5880ae1cd595 https://blog.csdn.net/clinuxf/article/details/90403935 https://blog.csdn.net/qq_15092079/article/details/82149807 https://www.cnblogs.com/yaowen/p/9235784.html https://blog.csdn.net/tanyhuan/article/details/79992975 https://www.cnblogs.com/aaron-agu/p/10560659.html https://blog.csdn.net/huplion/article/details/52892869?utm_source=distribute.pc_relevant.none-task HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL(Secure

HTTPS简介(二):非对称加密RSA

别等时光非礼了梦想. 提交于 2020-02-10 13:02:47
我们如何决定密钥是什么? 如果只有发送方和接收方知道密钥,对称密钥密码术是很安全的。在凯撒密码中,密钥是一个偏移值,这个偏移值决定每个字母应该偏移多少。在我们的例子中,我们使用的偏移值是 3,但是也能是 4 或者 12。 不过这么设计会有个问题:在用信鸽传递信息之前,如果 Alice 和 Bob 之前从没见过,他们没有安全的方式创建一个密钥。如果他们将密钥包含在信息之中,Mallory 将拦截信息并且发现密钥。后果就是:无论 Alice 和 Bob 发送的信息是否加密,Mallory 都能读取或者改变拦截到的信息。 这是一个典型的中间人攻击例子。避免它的唯一方法是改变之前的密码系统。 那么有没有这种方式,Alice 和 Bob 之前从没见过,Alice 想要给 Bob 传递一条信息,一开始Alice 先写一封空的信给Bob ,Bob发一个密钥给Alice。这个密钥要一个特点只能用来加密,对自己加密的文件都没办法解密,只有Bob 才能够解开。也就是说在密钥在传输的过程中即使被Mallory 截获了信鸽,Mallory知道了这个密钥,拿到了这个密钥也只是用来加密,他即使接下里截获到了Alice 用大家都拿到的密钥加密信息发给 Bob的信件,他也没办法解开密文。 这是另外一套密码系统。 他跟之前的有不一样的地方,第一就是他需要两次通讯过程,第二就是给出去的密钥只能用来加密无法用来解密。

tls/ssl证书生成和格式转换

末鹿安然 提交于 2020-02-07 02:52:49
生成密钥: openssl genrsa -out privkey.pem 2048 生成csr申请文件: openssl req -sha256 -new -key privkey.pem -out pubkey.pem 生成自签名证书: openssl x509 -req -days 365 -in my.csr -signkey my.key -out my.crt 转换为pfx格式: openssl pkcs12 -export -out my.pfx -inkey my.key -in my.pem PKCS7 转 PEM: openssl pkcs7 -print_certs -in my.cer -out my.pem JKS 转 PKCS12: keytool -importkeystore -srckeystore my.jks -destkeystore my.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass passwordText -deststorepass passwordText -srcalias aliasText -destalias aliasText -srckeypass passwordText -destkeypass passwordText -noprompt

# 2017-2018-1 20155324 实验五 通信协议设计

被刻印的时光 ゝ 提交于 2020-02-03 12:54:09
2017-2018-1 20155324 实验五 通信协议设计 任务一 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 实验步骤 安装~OpenSSL~ OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux、Windows、Mac OS等多种平台。 前往OpenSSL官网,下载OpenSSL源码,下载压缩包“openssl-master.zip 在Linux下使用~unzip openssl-master.zip~命令解压 进入源代码目录~cd openssl-1.1.0-pre1~ 使用如下命令进行安装: $ ./config $ make $ make test $ make install 编写一个测试代码test_openssl.c: #include <stdio.h> #include <openssl/evp.h> int main(){ OpenSSL_add_all_algorithms(); return 0; } 使用~gcc -o test_openssl test_openssl.c -L/usr/local/ssl/lib -lcrypto -ldl -lpthread~命令编译,生成“test_openssl”可执行文件

OpenSSL加密系统简介

久未见 提交于 2020-02-03 08:52:48
加密基本原理 OpenSSL移植到arm开发板参考 http://blog.chinaunix.net/uid-27717694-id-3530600.html 1、 公钥和私钥 : 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。 使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。 2. 必须保证是我发送的邮件,不是别人冒充我的。 要达到这样的目标必须发送邮件的两人都有公钥和私钥。 公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。 比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。 首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。 其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有

2017-2018-1 20155321 《信息安全系统设计基础》实验五——实时系统

…衆ロ難τιáo~ 提交于 2020-02-02 06:00:33
2017-2018-1 20155321 《信息安全系统设计基础》实验五——实时系统 任务一 两人一组 基于Socket实现TCP通信,一人实现服务器,一人实现客户端 研究OpenSSL算法,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5 选用合适的算法,基于混合密码系统实现对TCP通信进行机密性、完整性保护。 学有余力者,对系统进行安全性分析和改进 实验步骤 实验前的准备 下载OpenSSL最新版本: 参考网址 解压源代码:输入命令 tar xzvf openssl-1.0.2n.tar.gz 进入源代码目录:输入命令 cd openssl-1.0.2n 编译安装:依次输入命令 ./config 、 make 和 sudo make install 测试是否安装成功:输入命令 make test 由上图可以发现,安装成功 Socket实现TCP通信 主要是实现TCP/IP协议中的三次握手 在实际实现的过程中按照下图所示的步骤,调用系统函数即可: 此项实践内容在实验三中已经实现 服务端 /*将buf中的字节内容写入文件描述符fd*/ ssize_t writen(int fd, const void * vptr, size_t n){ size_t nleft; ssize_t nwritten; const char * ptr; ptr = vptr;

常见证书类型及相互转换

会有一股神秘感。 提交于 2020-01-31 03:39:49
What does a CSR look like? Most CSRs are created in the Base-64 encoded PEM format. This format includes the "-----BEGIN CERTIFICATE REQUEST-----" and "-----END CERTIFICATE REQUEST-----" lines at the begining and end of the CSR. A PEM format CSR can be opened in a text editor and looks like the following example: -----BEGIN CERTIFICATE REQUEST----- MIIByjCCATMCAQAwgYkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMR8w HQYDVQQLExZJbmZvcm1hdGlvbiBUZWNobm9sb2d5MRcwFQYDVQQDEw53d3cuZ29v

使用 openssl 生成证书

时光怂恿深爱的人放手 提交于 2020-01-29 05:06:34
一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。 官网: https://www.openssl.org/source/ 构成部分 密码算法库 密钥和证书封装管理功能 SSL通信API接口 用途 建立 RSA、DH、DSA key 参数 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表) 计算消息摘要 使用各种 Cipher加密/解密 SSL/TLS 客户端以及服务器的测试 处理S/MIME 或者加密邮件 二、RSA密钥操作 默认情况下,openssl 输出格式为 PKCS#1-PEM 生成RSA私钥(无加密) openssl genrsa -out rsa_private.key 2048 生成RSA公钥 openssl rsa -in rsa_private.key -pubout -out rsa_public.key 生成RSA私钥(使用aes256加密) openssl genrsa -aes256 -passout pass:111111 -out rsa_aes_private.key 2048 其中 passout 代替shell 进行密码输入,否则会提示输入密码; 生成加密后的内容如: -----BEGIN RSA PRIVATE

搭建自己的CA证书认证网络

前提是你 提交于 2020-01-27 00:26:16
学习CA证书认证网络,记录个流水账以便日后可用 我文中使用的域名是内部的,你也可以自己搭建一个网络,使用一样的域名. 注意:三端在生成证书的时候填写的国家,省,市,组织名 这些信息要一致!除了web服务端填写的域名 终端表 终端名称 IP地址 简介 根CA 10.35.176.1 一个CA证书网络的中心,所有证书的最终信用保证 子CA 10.35.176.8 该终端需要向根CA获取一个子CA证书,该终端的主要职责是签发SSL服务端证书给数据服务端.不一定要有这个终端. web服务端 10.35.176.6(域名:linzopi.vpn) 向子CA领取一个web服务端证书.用于加密数据发给最终用户终端. 最终用户终端 10.35.176.5 数据的最终接收者,该设备向CA查询证书是否为真,以确保数据是由真正的数据服务端发出. 根CA配置 创建目录结构 mkdir /etc/pki mkdir /etc/pki/tls mkdir /etc/pki/CA mkdir /etc/pki/CA/private mkdir /etc/pki/CA/newcerts touch /etc/pki/CA/index.txt #生成证书索引数据库文件 echo 01 > /etc/pki/CA/serial #指定第一个颁发证书的序列号 写配置文件 vim /usr/lib/ssl/openssl

Django + uWSGI + Nginx + https项目部署,并用OpenSSL 生成https证书

女生的网名这么多〃 提交于 2020-01-19 20:39:35
背景 :最近突然接触到了OpenSSL,突然想到貌似还没写过Django + uWSGI + Nginx + https项目部署相关的内容,所以整理出来一份资料。 目录 一、OpenSSL 安装 二、生成证书 三、Nginx配置 四、访问测试 一、OpenSSL 安装 从OpenSSL官网下载最新的稳定版本,我下载的是2.0.16,官网:https://www.openssl.org/source/ 安装依赖环境 #检测是否安装gcc,如果有则不需要安装 gcc - v #安装 yum - y install gcc #检查是否已安装zlib库,如果有则不需要安装 whereis zlib #安装 yum - y install zlib 下载OpenSSL安装包 wget https : // www . openssl . org / source / openssl - fips - 2.0 .16 . tar . gz 解压 tar - xzf openssl - fips - 2.0 .16 . tar . gz 进入目录 cd openssl - fips - 2.0 .16 / 设置安装路径 . / config - - prefix = / usr / local / openssl 编译安装 make & & make install 查看版本 openssl