最近一段时间的在公司做的事情是:

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://www.ejbca.org/

代码仓库的位置:https://svn.cesecore.eu/svn/ejbca/trunk/ejbca/

安装部署的文档:参考这篇文章:http://www.cnblogs.com/jiaoyiping/p/5814168.html

安装完成之后可以使用web界面来增加和删除用户,也可以通过ejbca提供的webservice接口来实现证书的创建,吊销和更新等工作.

公钥基础设施体系和EJBCA的一些概念的更多相关文章

  1. [转帖]公钥基础设施(PKI)/CFSSL证书生成工具的使用

    公钥基础设施(PKI)/CFSSL证书生成工具的使用 weilovepan520关注1人评论84344人阅读2018-05-26 12:22:20 https://blog.51cto.com/liu ...

  2. PKI(公钥基础设施)基础知识笔记

    数字签名 数字签名(又称公钥数字签名.电子签章)是一种类似写在纸上的普通的物理签名,可是使用了公钥加密领域的技术实现.用于鉴别数字信息的方法. 一套数字签名通常定义两种互补的运算.一个用于签名,还有一 ...

  3. PKI公钥基础设施简介

    PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书.一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的 ...

  4. 公钥基础设施PKI利用SRAM物理不可克隆函数PUF实现芯片标识唯一性

    下面给出PKI利用SRAM PUF实现芯片标识唯一性的方法思路: PKI利用SRAM PUF实现芯片标识唯一性的方式 (1)使用PUF原因 物理上不可克隆函数利用硅制造的自然变化来产生每个芯片统计上唯 ...

  5. (16) Cloudflare pki公钥基础设施

    该工具组共有8个工具 1.cfssl 常用的可用指令: sign signs a certificate bundle build a certificate bundle genkey genera ...

  6. Https原理及证书管理

    Https原理及证书管理 SSL(Secure Sockets Layer,安全套接层)/TLS(Transport Layer Security,传输层安全)保证了客户端web服务器的连接安全.客户 ...

  7. GPG 使用指南

    加密与签名 在传输信息时,会面临两个典型的问题: 如何保证发出的消息,只能被预期的接收人获取? 如何保证收到的消息,确实由预期的发送人发出? 这两个问题不难理解.例如发送的邮件可能会被监听,诈骗分子可 ...

  8. Oracle体系结构中基本概念,数据库

    在Oracle体系结构中包含了基本概念即Oracle数据库与实例,如果你想要了解Oracle体系结构的话,你就必须要了解这两个基本的概念,以下是文章的具体介绍,望你浏览完以下的内容会有所收获. 数据库 ...

  9. SSL安全证书-概念解析

    一.关于证书 数字证书是一种认证机制.简单点说,它代表了一种由权威机构颁发授权的安全标志. 由来 在以前,传统网站采用HTTP协议进行数据传输,所有的数据几乎都用的明文,很容易发生隐私泄露.为了解决安 ...

随机推荐

  1. Java标准I/O流编程一览笔录

    I/O是什么 I/O 是Input/Output(输入.输出)的简称,输入流可以理解为向内存输入,输出流是从内存输出. 流 流是一个连续的数据流,可以从流中读取数据,也可以往流中写数据.流与数据源,或 ...

  2. [转]iOS证书(.p12)和描述文件(.mobileprovision)申请

    转载于:http://ask.dcloud.net.cn/article/152 iOS有两种证书和描述文件: 证书类型 使用场景 开发(Development)证书和描述文件 用于开发测试,在HBu ...

  3. 自动换行后缩进怎么做(CSS)?(可用于 Li y 元素的排版)

    <style type="text/css">li{ width:100px; border:1px solid #ccc; padding-left:25px; te ...

  4. linux下主流的三种远程技术

    远程登录操作对于租用服务器的用户来说都不陌生.特别是租用国外服务器的用户来说,更是家常便饭.通过远程登录操作,即使我们人在深圳,也能无差别的操作远在美国的服务器.而对于linux系统下的服务器,目前主 ...

  5. workerman定时器使用 php定时任务

    add int \Workerman\Lib\Timer::add(float $time_interval, callable $callback [,$args = array(), bool $ ...

  6. 将文件导入到SQL server数据库表中的字段中

    一.在要执行的sql server数据库a中执行如下脚本,创建存储过程sp_textcopy /* 将二进制文件导入.导出到数据库相应字段列中 */ CREATE PROCEDURE sp_textc ...

  7. 使用editorconfig配置你的编辑器

    摘要: 在团队开发中,统一的代码格式是必要的.但是不同开发人员使用的编辑工具可能不同,这样就造成代码的differ.今天给大家分享一个很好的方法来使不同的编辑器保持一样的风格. 不同的编辑器也有设置代 ...

  8. Java动态代理和静态代理区别

    静态代理 package staticproxy; /** * 接口 * @author newtouch * */ public interface IHello { public void say ...

  9. Oracle基本操作,Oracle修改列名,Oracle修改字段类型

    oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>& ...

  10. HttpClient(四)-- 使用代理IP 和 超时设置

    1.代理IP的用处: 在爬取网页的时候,有的目标站点有反爬虫机制,对于频繁访问站点以及规则性访问站点的行为,会采集屏蔽IP措施.这时候,就可以使用代理IP,屏蔽一个就换一个IP. 2.代理IP分类: ...