SpringBoot服务间使用自签名证书实现https双向认证 以服务server-one和server-two之间使用RestTemplate以https调用为例 一.生成密钥 需要生成server-one和server-two的客户端密钥和一个信任库密钥 1.生成TrustStore(信任库) keytool -genkey -alias trustkeys -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore trustKeys.p12…
创建证书(第一步) keytool -genkey -alias "baidu" -keypass "123456" -keystore "D:/baidu.keystore" -storepass "123456" -keyalg "RSA" -keysize "1024" -validity "365" -alias 别名 -keypass 别名密码 -keyst…
在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求.默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核时进行说明并很可能会被拒).所以还未进行相应配置的公司需要尽快将升级为HTTPS的事项提上进程了. 本文将简述HTTPS及配置数字证书的原理并以配置实例…
前几日,项目组出于安全角度的考虑,要求项目中的请求使用https请求,因为是企业内部使用的app,因此使用了自签名的证书,而自签名的证书是不受信任的,所以我们就需要自己来做证书的验证,包括服务器验证客户端的证书和我们要信任服务器的证书,SSL双向认证的原理我这里就不赘述了,这里提供两篇博客 iOS安全系列之一:HTTPS: http://oncenote.com/2014/10/21/Security-1-HTTPS/ iOS安全系列之二:HTTPS进阶: http://oncenote.com…
近期项目需求,须要实现用USBKEY识别用户登录,採用https双向认证訪问管理后台管理界面,期间碰到过一些小问题,写出来给大家參考下. 1:前期准备工作 USBKEY 硬件:我买的是飞天诚信 epass1000ND 若干个(一个USBKEY绑定一个用户.等同于我们的银行U盾识别一样) USBKEY开发资料:CDROM_CN\PKI,找到该开发文件夹(跟厂家买硬件时一并给的开发包) 里面包括的文件例如以下 =============================================…
概述 在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求. 默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核时进行说明并很可能会被拒).所以还未进行相应配置的公司需要尽快将升级为HTTPS的事项提上进程了. Https HTTPS就是HTTP协议上再加…
1.生成CA证书 # 生成 CA 私钥 openssl genrsa -out ca.key 2048 # X.509 Certificate Signing Request (CSR) Management. openssl req -new -sha256 -key ca.key -out ca.csr # X.509 Certificate Data Management. openssl x509 -req -in ca.csr -signkey ca.key -sha256 -out…
部署好java环境和tomcat之后 执行以下语句 #生成证书,keytool是java工具命令,-genkey生成证书,-alias证书名称,-keyalg应该是指算法,-keystore是证书存储路径keytool -genkey -alias tomcat -keyalg RSA -keystore /root/.keystore#进入root目录下,即证书存储路径下cd /root#完成自我认证keytool -selfcert -alias tomcat -keystore .keys…
一,HTTPS原理   1,HTTP.HTTPS.SSL.TLS介绍与相互关系 (1)HTTP:平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的(明文),因此使用HTTP协议传输隐私信息非常不安全. (2)HTTPS:为了保证隐私数据能加密传输,采用SSL/TLS协议用于对HTTP协议传输的数据进行加密,也就是HTTPS. (3)SSL:SSL(Secure Sockets Layer)协议是由网景公司设计,后被IETF定义在RFC 6101中.目前的版本是3.0. (4)TL…
最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可.下面是颁发证书和配置过程. 1.首先确保机器上安装了openssl和openssl-devel # yum install openssl # yum install openssl-devel 2.生成证书 首先,进入你想创建证书和私钥的目录,例如: # cd /etc/…
1. 前言 HTTPS越来越成为主流,谷歌从 2017 年起,Chrome 浏览器将也会把采用 HTTP 协议的网站标记为「不安全」网站:苹果从 2017 年 iOS App 将强制使用 HTTPS:在国内热火朝天的小程序也要求必须使用 HTTPS 请求.那么为什么要使用HTTPS呢?首先说为什么使用https,简单点说就是为了防止数据传输过程中信息被窃取或偷换,防止中间人攻击.  2. 准备BKS证书,将证书放到项目raw目录下 准备.cer文件 可以跟后台开发人员直接拿,也可以直接在网站上下…
问题一:页面自动跳转到 80 端口 问题描述 最近在使用Nginx反代一个Spring Boot项目中碰到了一个问题,使用 Spring Boot 中的 redirect: 进行页面跳转的时候,通过 Nginx 反代访问后,页面会自动跳转到 80 端口,导致服务无法访问,页面跳转错误. 问题解决 出现这种问题的原因是因为在配置 location 中的 proxy_set_header Host $host; 时候,没有加端口号,正确的配置应该是这样的 proxy_set_header Host…
https://www.v2ex.com/t/143012…
校验证书是否被 CA 证书签名,正确的情况: $ openssl verify -CAfile /etc/kubernetes/cert/ca.pem /etc/kubernetes/cert/kubernetes.pem /etc/kubernetes/cert/kubernetes.pem: OK ------------------------------------------------------------------------------ 把生成的ca证书和去除密码的私钥文件部…
一:服务器端 1.首先需要配置站点的SSl证书 打开Nginx安装目录下conf目录中的nginx.conf文件 找到    # HTTPS server     #     #server {     #    listen       443;     #    server_name  localhost;     #    ssl                  on;     #    ssl_certificate    cert.pem;     #    ssl_certifi…
0.环境 本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 必须安装nginx,必须安装openssl,(用apt-get update, apt-get install来安装比较简单) 1.配置和脚本 先创建一个demo目录(位置自己选择,我选择建在nginx的目录下): mkdir /etc/nginx/ca-demo cd /etc/nginx/ca-demo 修改SSL配置openssl.cnf(也可能是openssl…
自定义SSL证书: 1.ca证书 #openssl genrsa -out ca.key 2048 #openssl req -new -key ca.key -out ca.csr #openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt 2.服务端证书 #openssl genrsa -des3 -out server.key 1024 #openssl req -new -key server.key -out…
本文由邓亚运提供 Nginx+https双向验证 说明: 要想实现nginx的https,nginx必须启用http_ssl模块:在编译时加上--with-http_ssl_module参数就ok.另外 系统必须安装了openssl:openssl为开源软件,在Linux(或UNIX/Cygwin)下创建一个简单的CA.我们可以利用这个CA进行 PKI.数字证书相关的测试.比如,在测试用Tomcat或Apache构建HTTPS双向认证时,我们可以利用自己建立的测试CA来为服务器端颁发服务器数字证…
SSL/TLS证书是用于用户浏览器和网站服务器之间的数据传输加密,实现互联网传输安全保护,大多数情况下指的是服务器证书.服务器证书是用于向浏览器客户端验证服务器,这种是属于单向认证的SSL证书.但是,如果服务器需要对客户端进行身份验证,该怎么办?这就需要双向认证证书. 为什么需要另一种认证方式的证书?因为当同时使用两种认证方式的证书时,有助于双方(即客户端和服务器端)之间的相互认证.另外,与标准SSL证书不同的是,双向认证的SSL证书实际上被称作为个人认证证书(PAC). 在了解SSL证书的两种…
1.证书生成 每一个JDK或者JRE里都有一个工具,叫做:keytool,安装了jdk或jre之后,配置好JAVA环境之后,就可以直接在控制台使用该命令生成自签名证书: 在控制台输入: keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore E:\Desktop\sslkey\keystore.p12 -validity 3650 命令参数说明: 1.-alias 证书别名 2.-st…
HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS).当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示.HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击. 您可以通过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书通常是需要(CA)颁发的证书.为了学习目的,您也可以使用自签名证书,比如:使用Java Keytool生成自签名证书. 一.自签名证书 您可以使用位于JDK bin文件夹下的Keytool生成证…
前言 2017年1月1日起App Store上的所有App应用将强制开启ATS功能. 苹果的ATS(App Transport Security)对服务器硬性3点要求: ① ATS要求TLS1.2或者更高,TLS 是 SSL 新的别称. ② 通讯中的加密套件配置要求支持列出的正向保密. ③ 数字证书必须使用sha256或者更高级的签名哈希算法,并且保证密钥是2048位及以上的RSA密钥或者256位及以上的ECC密钥. 由于领导舍不得花钱,只能辛苦我们自己搞个不花钱的证书.在网上找了一大堆各种配置…
iOS开发HTTPS实现之信任SSL证书和自签名证书 转自:http://www.jianshu.com/p/6b9c8bd5005a/comments/5539345 (收录一下供自己学习用的) 字数1566 阅读5025 评论76 喜欢30 首先来分析一下什么是HTTPS以及了解HTTPS对于iOS开发者的意义 HTTPS 以及SSL/TSL 什么是SSL? SSL(Secure Sockets Layer, 安全套接字层),因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点,比如…
1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 openssl genrsa -des3 -out server.key 1024 openssl req -new -key server.key -out server.csr 3.生成客户端的私钥(key文件)及申请证书csr文件 openssl genrsa -des3 -out client…
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信   如果你的规划需要创建多个证书,那么使用私有CA的方法比较合适,因为只要给所有的客户端都安装了CA的证书,那么以该证书签名过的证书,客户端都是信任的,也就是安装一次就够了 如果你直接用自签名证书,你需要给所有的客户端安装该证书才会被信任,如果你需要第二个证书,则还的挨个给所有的客户端安装证书2才会被信任.       证书类型: x509的证…
前言 证书的作用 加密通信数据,验证对象身份,保证数据完整性 什么是自签名证书 公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书) ca签名证书 ca签名证书,也就是我们自己当是认证的机构去认证一个证书,那么客户端新人该ca证书也代表着信任该ca证书签名的所有的自签名证书. openssl是什么 OpenSSL是一套开源的密码学工具包 在SSL协议中,我们使用了很多密码学手段来保护数据,其中包括对称密码.公钥密码.数字签名.证…
转自:https://www.zybuluo.com/muyanfeixiang/note/392079 简介 公钥私钥用来互相加解密的一对密钥,一般是采用RSA非对称算法.公钥加密的私钥能解密,私钥加密的公钥能解密.关于公私钥更多内容,网上都有就不详细介绍. 关于CA证书,是由第三方机构下发的,可以对私钥签名附加上机构信息.浏览器就可以在https协议中通过该证书信任第三分站点.当然也可以自己生成根证书来签发子证书.   操作   生成根证书 1.首先生成私钥   openssl genrsa…
一般的数字证书产品的主题通常含有如下字段:公用名称 (Common Name) 简称:CN 字段,对于 SSL 证书,一般为网站域名:而对于代码签名证书则为申请单位名称:而对于客户端证书则为证书申请者的姓名: 单位名称 (Organization Name) :简称:O 字段,对于 SSL 证书,一般为网站域名:而对于代码签名证书则为申请单位名称:而对于客户端单位证书则为证书申请者所在单位名称: 证书申请单位所在地: 所在城市 (Locality) 简称:L 字段 所在省份 (State/Pro…
一.背景说明 1.1 面临问题 最近一份产品检测报告建议使用基于pki的认证方式,由于产品已实现https,商量之下认为其意思是使用双向认证以处理中间人形式攻击. <信息安全工程>中接触过双向认证,但有两个问题. 第一个是当时最终的课程设计客户端是浏览器,服务端是tomcat双向认证只需要对两者进行配置并不需要自己真的实现代码. 第二个是虽然课程也有接近双向认证的实现代码,但当时是Java+JCE环境现在要用C+++OpenSSL环境,总体意思确实还是差不多但具体函数和参数差别还是不少. 所以…
发布时间:2018-09-21   技术:iOS12 xcode10 golang1.11   概述 iOS12 苹果发布了新的网络框架Network,可以更方便地操作底层网络通信了.使用TLS也很方便,但默认是使用系统安装的根证书验证网站证书的,如果使用自签名根证书来验证自架的网站证书,则麻烦一些,这里给大家演示一下. 详细 代码下载:http://www.demodashi.com/demo/14102.html 需求: 并不是每个SSL/TLS站点都能得到一个全球公认的证书,很多时候需要自…