openssl生成证书

springboot+apache前后端分离部署https

好久不见. 提交于 2019-12-08 09:44:28
目录 1. 引言 2. 了解https、证书、openssl及keytool 2.1 https 2.1.1 什么是https 2.1.2 https解决什么问题 2.2 证书 2.2.1 证书内容 2.2.2 验证证书过程 2.2.3 证书种类 2.3 openssl 2.4 keytool 3. 自签证书 3.1 证书生成过程 3.1.1 自建CA证书 3.1.2 CA签发服务端证书 3.1.3 证书存入keystore文件 3.2 证书生成注意事项 4. 后端springboot工程添加https访问 4.1 springboot工程添加ssl配置项 4.2 添加内置tomcat的http转发https 5. 前端apache添加https访问 5.1 apached.conf添加ssl支持 5.1.1 启用需要的模块 5.1.2 引入ssl配置 5.1.3 修改配置Directory 5.2 httpd-ssl.conf 添加ssl配置 5.3 添加http转发https 5.4 访问后端接口地址添加https地址 6. 客户端添加证书 7. 总结 参考资料 往期文章 一句话概括:现在网站访问基本都需要使用https访问,否则浏览器就会报不安全提示,本文针对springboot+apache前后端分离的项目的https设置与部署进行说明。 1. 引言 当前访问互联网上的应用

windows 使用openssl生成CA文件,tomact nginx 配置https及android https的ssl认证添加

为君一笑 提交于 2019-12-07 11:40:16
前言 该篇博文为工作总结,暂时记录的知识点有 :鄙人对https的拙见, windows 使用openssl 生成没有获取认证的证书(主要适用于平时练习)tomact 及nginx 对https的配合部分转发的配置,以及android请求后台添加ssl认证等小白知识点。本篇文章 大约需要耗时 20分钟。 1.https拙见 HTTPS相当于HTTP的安全版本,在HTTP的基础上添加SSL(Secure Socket Layer),SSL主要负责安全。 SSL 主要作用 1. 认证用户和服务器,确保数据发送到正确的客户机和服务器;(验证证书) 2. 加密数据以防止数据中途被窃取;(加密) 3. 维护数据的完整性,确保数据在传输过程中不被改变。(摘要算法) HTTPS流程 HTTPS在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。 老大掏钱 我要数字证书(公司没钱,自己想办法。。。) 权威机构发放 数字证书 (本地使用openssl 生成证书) 服务端部署 数字证书 (本地配置在nginx 中) 客户端请求 服务端 生成一对非对称加密的密钥对,然后把公钥发给客户端 客户端 收到公钥,生成一个随机数,作为上图中那一把密钥,用刚才收到的公钥加密这个密钥 客户端 发给 服务器。(儿子接着 我的密钥) 服务端 收到加密后的密钥

使用OpenSSL生成证书

橙三吉。 提交于 2019-12-06 13:59:39
一、OpenSSL简介 OpenSSL支持多种秘钥算法,包括RSA、DSA、ECDSA,RSA使用比较普遍。官网地址: https://www.openssl.org/ ,一般CeontOS系统都装有OpenSSL 二、秘钥操作 生成RSA私钥。-out private.key 输出秘钥文件为private.key;128 为秘钥大小,目前认为2048大小是比较安全的,本文测试使用128大小。 openssl genrsa -out private.pem 128 生成的私钥样式为: -----BEGIN RSA PRIVATE KEY----- MGMCAQACEQDS52MK0Nw1QIfRfSaTOhdnAgMBAAECEQCV/r6v6I9Uxv/J3tc5onvB AgkA6o1Gly9yqVECCQDmMIZkMe6HNwIIaKE68yhMWvECCBXOAuz6zd2BAgkAlR9Y VQCWm2A= -----END RSA PRIVATE KEY----- 生成带密码的RSA私钥。-aes256,指定密码加密方式, openssl genrsa -aes256 -passout pass:1234 -out private.pem 128 生成的私钥样式为: -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4

# 2019-2020-1 20175334 实验五 《通讯协议设计》实验报告

本小妞迷上赌 提交于 2019-12-06 09:37:56
2019-2020-1 20175334 实验五 《通讯协议设计》实验报告 一、实验内容及步骤 实验五 通讯协议设计-1 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 提交运行结果截图 提交康奈尔笔记的照片(可以多张) 了解OpenSSL OpenSSL的安装与测试 1.从 OpenSSL源码下载地址 下载压缩包 2.输入命令 unzip openssl-master.zip 解压压缩包 3.输入命令 cd openssl-master 、 ./config 、 sudo make 、 sudo make install 进入目录进行编译安装 4.输入命令 make test 进行测试 5.编写测试代码test_openssl.c #include <stdio.h> #include <openssl/evp.h> int main(){ OpenSSL_add_all_algorithms(); return 0; } 6.使用OpenSSL密码算法库编译运行 编译 gcc -o test_openssl test_openssl.c -I /usr/local/ssl/include -L/usr/local/ssl/lib -lssl -lcrypto -ldl -lpthread 运行, echo

图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证

孤者浪人 提交于 2019-12-05 19:49:41
1. 安装 nginx 1.1 nginx 包及其依赖包下载 出于模块的依赖性,Nginx 依赖以下三个包: gzip 模块需要 zlib 库( http://www.zlib.net/ ); rewrite 模块需要 pcre 库( http://www.pcre.org/ ); ssl 功能需要 openssl 库( http://www.openssl.org/ ); 分别下载它们的最新稳定版(截至本文最新稳定版分别是 zlib-1.2.8.tar.gz、pcre-8.36.tar.gz、openssl-fips-2.0.9.tar.gz),最后下载 Nginx 最新( http://nginx.org/en/download.html )稳定版(截至本文最新稳定版是 nginx-1.7.10.tar.gz)。 依赖包安装次序为:openssl、zlib、pcre,最后安装 Nginx 包。 1.2 nginx 包及其依赖包安装 1.2.1 安装 openssl $ tar -zxvf openssl-fips-2.0.9.tar.gz $ cd openssl-fips-2.0.9 $ ./config $ make $ sudo make install 1.2.2 安装 zlib $ tar -zxvf zlib-1.2.8.tar.gz $ cd zlib-1.2.8

图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证

我只是一个虾纸丫 提交于 2019-12-05 19:49:17
1. 安装 nginx 1.1 nginx 包及其依赖包下载 出于模块的依赖性,Nginx 依赖以下三个包: gzip 模块需要 zlib 库( http://www.zlib.net/ ); rewrite 模块需要 pcre 库( http://www.pcre.org/ ); ssl 功能需要 openssl 库( http://www.openssl.org/ ); 分别下载它们的最新稳定版(截至本文最新稳定版分别是 zlib-1.2.8.tar.gz、pcre-8.36.tar.gz、openssl-fips-2.0.9.tar.gz),最后下载 Nginx 最新( http://nginx.org/en/download.html )稳定版(截至本文最新稳定版是 nginx-1.7.10.tar.gz)。 依赖包安装次序为:openssl、zlib、pcre,最后安装 Nginx 包。 1.2 nginx 包及其依赖包安装 1.2.1 安装 openssl $ tar -zxvf openssl-fips-2.0.9.tar.gz $ cd openssl-fips-2.0.9 $ ./config $ make $ sudo make install 1.2.2 安装 zlib $ tar -zxvf zlib-1.2.8.tar.gz $ cd zlib-1.2.8

https实现原理

爱⌒轻易说出口 提交于 2019-12-05 12:12:31
https详解 目前大部分大型网站已经全部切换到了 https 服务,所以很有必要了解整个 https 的原理, https 是如何保证信息安全的。这里希望大家对以下部分名词有一定的了解: 数字证书 是互联网通信中的身份标识(主要是用户身份信息和公钥),一般由CA中心颁发,既CA认证中心,或第三方权威机构。数字证书上通常包括:CA的签名,证书所有人的公钥,CA中心的签名算法,指纹以及指纹算法,证书的唯一编号,版本,有效期等。 数字签名、签名算法 对信息的摘要【通过 hash算法 / 摘要算法 / 指纹算法 计算的信息 摘要 / hash值 】使用签名算法进行加密,得到的密文就叫做数字签名 指纹、指纹算法/摘要算法【hash值计算】 对消息使用 hash算法/摘要算法 进行单向处理,获取一个固定长度的信息的 摘要/hash值 。 非对称加密 可以使用公钥、私钥分解进行对应的加密、解密的算法,即加解密使用的是不同的一堆秘钥。 对称加密 使用相同秘钥进行加解密的算法 公钥、私钥 非对称加解密的一对秘钥。 https服务部署过程和原理 了解 https 的原理,最好的方法就是走一遍流程,理论上的流程和原理通过以下几点来解释: 证书申请 证书信任 密文通信 证书的获取 https 的关键之一就是 ssl 证书,为了保证证书的安全有效性,在各类委员会/厂商之间合作

openssl用法详解 【转】

為{幸葍}努か 提交于 2019-12-05 10:52:31
原文: http://www.178linux.com/48764 OpenSSL 是一个开源项目,其组成主要包括一下三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls openssl可以实现:秘钥证书管理、对称加密和非对称加密 。 1、对称加密 对称加密需要使用的标准命令为 enc ,用法如下: openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md] [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id] 常用选项有: -in filename:指定要加密的文件存放路径 -out filename:指定加密后的文件存放路径 -salt:自动插入一个随机数作为文件内容加密,默认选项 -e:可以指明一种加密算法,若不指的话将使用默认加密算法 -d:解密,解密时也可以指定算法,若不指定则使用默认算法

对于iPhone描述文件的签名认证

末鹿安然 提交于 2019-12-05 09:35:39
1. 购买SSL证书验证(跟https认证一样) 2.iphone 签名.mobileconfig文件 company.mobileconfig 未签名的mobileconfig文件 server.crt 你的服务器SSL证书 server.key 您的私钥 ca-bundle.crt 你的根证书链 signed.mobileconfig 签名过的mobileconfig名字 3.终端签名命令 openssl smime -sign -in company.mobileconfig -out signed.mobileconfig -signer server.crt -inkey server.key -certfile ca-bundle.crt -outform der -nodetach    openssl证书签发生成 生成私钥 openssl genrsa -out server.key 2048 通过私钥 生成csr文件 openssl req -new -key server.key -out server.csr 通过csr文件 和私钥生成 crt公钥 有效期10年 openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt    来源: https://www

OpenSSL自签发自建CA签发SSL证书

回眸只為那壹抹淺笑 提交于 2019-12-05 07:28:44
目录 一、安装依赖 二、自建CA 2.1 生成根密钥 2.2 生成根CA证书 三、颁发证书 3.1 创建证书请求 3.2 附加用途 3.3 签发证书 四、问题排查 在网上经常看到自建CA和自签证书文档,但是发现自己生成之后,将ca证书导入客户端之后,Chrome访问网站总是会出现如下错误: NET::ERR_CERT_COMMON_NAME_INVALID 此服务器无法证实它就是 domain.com - 它的安全证书没有指定主题备用名称。这可能是因为某项配置有误或某个攻击者拦截了您的连接。一直以为是Chrome浏览器安全强度太高导致的,因为发现Firefox和IE没有这个问题,但是后来才发现自签证书有缺陷。 一、安装依赖 利用 OpenSSL 签发自然是需要 OpenSSL 软件及库,一般情况下 CentOS、Ubuntu 等系统均已内置,可执行 openssl 确认,如果出现 oepnssl: command not found 说明没有内置,需要手动安装,以 CentOS 为例,安装命令如下: [root@CA ~]# yum install openssl openssl-devel -y 修改openssl.cnf配置文件 [root@CA ~]# vim /etc/pki/tls/openssl.cnf dir=/etc/pki/CA 创建相关的文件 [root@CA