今天尝试在mac机上搭建docker registry私有仓库时,杯具的发现最新的registry出于安全考虑,强制使用ssl认证,于是又详细了解linux/mac上openssl的使用方法,接触了一堆新英文缩写,整理于下:

TLS:传输层安全协议 Transport Layer Security的缩写

SSL:安全套接字层 Secure Socket Layer的缩写

TLS与SSL对于不是专业搞安全的开发人员来讲,可以认为是差不多的,这二者是并列关系,详细差异见 http://kb.cnblogs.com/page/197396/

KEY 通常指私钥。

CSR 是Certificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。

CRT 即 certificate的缩写,即证书。

X.509 是一种证书格式.对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。

X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:

PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码.
Apache和*NIX服务器偏向于使用这种编码格式.

DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.
Java和Windows服务器偏向于使用这种编码格式

OpenSSL 相当于SSL的一个实现,如果把SSL规范看成OO中的接口,那么OpenSSL则认为是接口的实现。接口规范本身是安全没问题的,但是具体实现可能会有不完善的地方,比如之前的"心脏出血"漏洞,就是OpenSSL中的一个bug.

openssl 给自己颁发证书的步骤:

前提:先建一个cert目录,cd到该目录,以下所有命令的当前路径均为该目录

1. 生成私钥KEY

1

openssl genrsa -des3 -out server.key 2048

这一步执行完以后,cert目录下会生成server.key文件

2. 生成证书请求文件CSR

1

openssl req -new -key server.key -out server.csr

该命令先进入交互模式,让你填一堆东西,参考下图:


要注意的是Common Name这里,要填写成使用SSL证书(即:https协议)的域名或主机名,否则浏览器会认为不安全。例如:如果以后打算用https://yjm-docker/xxx 这里就填写yjm-docker

3. 生成CA的证书

前面提过X.509证书的认证者总是CA或由CA指定的人,所以得先生成一个CA的证书

1

openssl req -new -x509 -key server.key -out ca.crt -days 3650

4. 最后用第3步的CA证书给自己颁发一个证书玩玩

1

2

3

openssl x509 -req -days 3650 -in server.csr \

  -CA ca.crt -CAkey server.key \

  -CAcreateserial -out server.crt

执行完以后,cert目录下server.crt 就是我们需要的证书。当然,如果要在google等浏览器显示出安全的绿锁标志,自己颁发的证书肯定不好使,得花钱向第三方权威证书颁发机构申请(即:第4步是交给权威机构来做,我们只需要提交server.key、server.csr,哦,还有毛爷爷就好了)

openssl、x509、crt、cer、key、csr、ssl、tls相关推荐

  1. 一文搞清电子认证相关概念:CA、证书、PKI、CSR、SSL、TSL、CRT、CER、PEM、RSA等

    文章目录 电子认证 公钥基础设施(PKI) 安全认证机构CA 证书 SSL TSL CSR是什么 SSL证书格式 SSL证书文件 OpenSSL证书操作 1.查看 2.转换 3.组合 4.提取 RSA ...

  2. 从cer和pfx证书文件获取公、私钥

    其他文章: 安全系列之--手写JAVA加密.解密 安全系列之--数据传输的完整性.私密性.源认证.不可否认性 安全系列之--主流Hash散列算法介绍和使用 安全系列之--RSA的公钥私钥有多少人能分的 ...

  3. SSL、openSSL、CA

    前言 X509 1 X509证书格式 SSLopenSSLTLS 1 简单介绍 2 openSSL常用命令 21 基础命令 22 文件加密解密 23 计算特征码 24 生成密码 25 生成伪随机数 2 ...

  4. C#实现RSA公钥加密私钥解密、私钥加密公钥解密以及Pcks12、X509证书加解密、签名验签

    RSA的私钥签名公钥验签可以见 http://blog.csdn.net/starfd/article/details/51917916,所以这里就没提供对应代码,具体代码如下: using Org. ...

  5. openssl编写SSL、TLS程序

    一.简介 SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport Layer Security)是 ...

  6. SSH、OpenSSH、SSL、OpenSSL及CA

    OpenSSL 1. SSH.OpenSSH.SSL.OpenSSL关系及区别 2. SSH介绍 2.1 概念 2.2 SSH的主要功能 2.3 示例讲解 2.4 ssh和sshd的区别 3. Ope ...

  7. go发送smtp邮件时的踩坑记录——auth login、x509: cannot validate certificate for错误

    最近在用go写一个小工具,一个小功能是用smtp发邮件,用公司内网的邮箱服务器实现踩了不少坑 想知道x509: cannot validate certificate for解决的直接看2.2.1,想 ...

  8. linux加密解密基础、PKI及SSL、创建私有CA

    linux加密解密基础.PKI及SSL.创建私有CA 1.加密解密基础:            数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡 ...

  9. 科普:TLS、SSL、HTTPS以及证书(转)

    最近在研究基于ssl的传输加密,涉及到了key和证书相关的话题,走了不少弯路,现在总结一下做个备忘 不少人可能听过其中的超过3个名词,但它们究竟有什么关联呢? TLS是 传输层安全协议(Transpo ...

  10. **加密解密基础、PKI及SSL、创建私有CA**

    进程间通信 socket通信 客户端-->请求--> 路由转发 --> 服务端,取出资源 --> 封装为可响应给客户端的请求报文从接收请求端口发出 SSL/TLS协议的实现 O ...

最新文章

  1. Hibernate框架第二天
  2. Python入门、进阶经典PDF下载
  3. linux 2行数据为一条记录 该如何操作这一条记录_Linux 日志文件系统原来是这样工作的...
  4. cocos2d-x之悦动的小球
  5. Windows开机 桌面一片空白 无法操作
  6. c语言求区间内素数个数_C语言题目
  7. python抓取谷歌app市场的icon
  8. 读史可以明智_明智的话
  9. 最详细的【微信小程序+阿里云Web服务】开发部署指引(三):开通阿里云主机
  10. 计算机理论高考知识点总结,计算机技能高考基础知识(常考知识点记忆)
  11. 分享一些百度贴吧引流的实用干货和防删技巧
  12. python 魔法方法(2)
  13. 移动联通电信老用户如何转腾讯大王卡、蚂蚁宝卡、鱼卡等技巧
  14. 「生信练习题」从SnpEff注释得到的VCF中过滤4DTV位点
  15. 外企, 私企和国企, 不同的软件开发流程感受
  16. 超级搜索术前4节课思维导图
  17. 逆向工程中常用软件分析工具
  18. O2O到家业务:如何在门店履约环节,实现降本增效?
  19. html语言花店界面模板,超级漂亮的网上花店html静态页面
  20. 【PaddlePaddle+OpenVINO】打造一个会发声的电表检测识别器

热门文章

  1. 基因组注释3.基因的功能注释Prokka
  2. pandas使用to_datetime函数把dataframe的字符串日期数据列转化为日期格式日期数据列( strings to datetime in dataframe column)
  3. R语言诊断试验数据处理与ROC分析实战案例1
  4. Error in ** : incorrect number of dimensions
  5. VRPM包安装失败解决方案:had non-zero exit status
  6. R使用tsne进行高维数据可视化实战:二维可视化、三维可视化
  7. 使用聚类算法进行标签传播学习(Clustering for Semi-Supervised Learning)
  8. 临床模型评价:C指数(C-Index)、校正曲线(Calibration plot)、决策分析曲线(Decision Curve Analysis, DCA)、NRI指数
  9. 两步聚类算法+Two Step
  10. 实验三:XML模型(一)