公钥基础设施体系和EJBCA的一些概念
最近一段时间的在公司做的事情是:
1. 为公司的一些线上系统启用https(使用nginx反向代理的方式来实现,之前的应用无需做改动)
2.为符合规则的用户颁发数字证书(自建CA来实现,目前的用途是给公司的安卓和IOS app访问后台服务实现双向认证)
3.给安卓和IOS app提供消息推送的服务(安卓的推送自己来实现,IOS的使用apns来实现)
这些工作其中都涉及到了不少的东西,所以写一些文章记录下来,便于自己查看,如果有不对的地方,恳请指正。
今天先写一下数字证书相关的东西,即公钥基础设施体系和EJBCA.
公钥基础设施(Public Key Infrastructure),
参照百度百科的定义:
公钥基础设施是由公开密钥密码技术、数字证书、证书认证中心和关于公开密钥的安全策略等基本成分共同组成,管理密钥和证书的系统或平台。
其中涉及到的一些技术和公开秘钥加密算法等知识可以到网上去查找相关的信息(吴军老师的 数学之美 里有一篇文章是讲公开秘钥加密背后的原理的)
常用的一些概念:
CA (Certificate Authority)是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理
RA (Registration Authority)是数字证书认证中心的证书发放、管理的延伸。主要负责证书申请者的信息录入、审核以及证书发放等工作,同时,对发放的证书完成相应的管理功能
根证书:根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任,浏览器和操作系统中会内置一些常用的CA根证书,信任这些根证书的同时,也会信任这些根证书颁发的证书.
X.509 X.509是一种符合国际标准的证书格式,java语言提供了一些API来方便地读取X.509证书中的信息
SSL/TLS: SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密. 通常我们接触到SSL和TLS的地方都是在使用浏览器访问网页的时候(使用https),但其实SSL和TLS协议是独立于https的,其他运行在应用层的协议(比如SMTP)也可以配合SSL实现安全传输.
https : http + SSL (或者 http + TLS)
EJBCA是一个开源的,完整的CA实现,提供了独立搭建一套CA系统所需要的所有的功能(CA功能,管理界面,RA功能和接口,OCSP等等) EJBCA分为商业版和开源版两种,codebase是一样的,商业版本提供了更好的支持和更多的特性.学习和研究的话使用开源的版本就可以了
代码仓库的位置:https://svn.cesecore.eu/svn/ejbca/trunk/ejbca/
安装部署的文档:参考这篇文章:http://www.cnblogs.com/jiaoyiping/p/5814168.html
安装完成之后可以使用web界面来增加和删除用户,也可以通过ejbca提供的webservice接口来实现证书的创建,吊销和更新等工作.
公钥基础设施体系和EJBCA的一些概念的更多相关文章
- [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用
公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...
- PKI(公钥基础设施)基础知识笔记
数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,可是使用了公钥加密领域的技术实现.用于鉴别数字信息的方法. 一套数字签名通常定义两种互补的运算.一个用于签名,还有一 ...
- PKI公钥基础设施简介
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的 ...
- 公钥基础设施PKI利用SRAM物理不可克隆函数PUF实现芯片标识唯一性
下面给出PKI利用SRAM PUF实现芯片标识唯一性的方法思路: PKI利用SRAM PUF实现芯片标识唯一性的方式 (1)使用PUF原因 物理上不可克隆函数利用硅制造的自然变化来产生每个芯片统计上唯 ...
- (16) Cloudflare pki公钥基础设施
该工具组共有8个工具 1.cfssl 常用的可用指令: sign signs a certificate bundle build a certificate bundle genkey genera ...
- Https原理及证书管理
Https原理及证书管理 SSL(Secure Sockets Layer,安全套接层)/TLS(Transport Layer Security,传输层安全)保证了客户端web服务器的连接安全.客户 ...
- GPG 使用指南
加密与签名 在传输信息时,会面临两个典型的问题: 如何保证发出的消息,只能被预期的接收人获取? 如何保证收到的消息,确实由预期的发送人发出? 这两个问题不难理解.例如发送的邮件可能会被监听,诈骗分子可 ...
- Oracle体系结构中基本概念,数据库
在Oracle体系结构中包含了基本概念即Oracle数据库与实例,如果你想要了解Oracle体系结构的话,你就必须要了解这两个基本的概念,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 数据库 ...
- SSL安全证书-概念解析
一.关于证书 数字证书是一种认证机制.简单点说,它代表了一种由权威机构颁发授权的安全标志. 由来 在以前,传统网站采用HTTP协议进行数据传输,所有的数据几乎都用的明文,很容易发生隐私泄露.为了解决安 ...
随机推荐
- 带有Header的SOAP 请求
package demo.test; import javax.xml.bind.JAXBElement; import javax.xml.namespace.QName; import org.t ...
- 038改变状态栏的颜色(扩展知识:关于iOS不同版本的消息通知知识)
效果如下: ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController @e ...
- Linux系统下wetty安装和使用说明
1. Wetty简介 Wetty是使用Node.js和websockets开发的一个开源Web-based SSH.关于Web-based SSH的更多资料请参考https://en.wikipedi ...
- vue-cli打包之后的项目在nginx的部署
vue-cli执行 npm run build 进行打包,生成dist文件夹,把该文件夹下的文件直接复制到nginx服务器目录下,就可打开项目,但是只有首页是可以看到的,再刷新一下就404了,原因是v ...
- proto序列化
proto序列化和反序列化类 序列化是将我们的Protobuf类对象转换成字节数组的方法,网络底层我们从服务器获取到的是字节数组,反序列化是将字节转成proto类对象的方法 public class ...
- ecshop学习1
ECSHOP开发中心(www.68ecshop.com) 研究一下ecshop,先安装一下.下面是整个安装步骤: 1.下载ecshop程序包,下载地址: http://download.ecshop. ...
- VS2008编译错误:error C2065: 'PMIB_TCPSTATS' : undeclared identifier c:\program files (x86)\microsoft sdks\windows\v7.0a\include\iphlpapi.h 411
安装了VS2008编译之前的程序,结果出现了编译错误,以为是VS2008的Sp1补丁没装好,重装补丁后还是不行,编译错误如下: 双击错误会定位在iphlpapi.h中, 一个可行的解决办法是:把iph ...
- 安装Python模块:pygame
Pygame项目托管在代码分享网站Bitbucket中.要在Windows系统中安装Pygame,请访问https://bitbucket.org/pygame/pygame/downloads/ , ...
- 在Visual Stdio 2012中编译执行JM18.6的方法
JM是H.264编码的官方实现,与X264开源实现相比,JM的实现比較完整,代码更加规范.并且同一时候提供了编码和解码过程.便于对照分析.可是JM的最大缺点是效率比X264低.因此.非常多应用都基于X ...
- Netty权威指南之AIO编程
由JDK1.7提供的NIO2.0新增了异步的套接字通道,它是真正的异步I/O,在异步I/O操作的时候可以传递信号变量,当操作完成后会回调相关的方法,异步I/o也被称为AIO,对应于UNIX网络编程中的 ...