专栏首页MyPanda的学习笔记数字证书系列--证书请求文件CSR

数字证书系列--证书请求文件CSR

用比较通俗的例子来理解证书请求文件: 比如我自己的网站,需要使用https 通信,那么我向“证书机构”申请数字证书的时候,就需要向他们提供相应的信息,这些信息以特定文件格式(.csr)提供的,这个文件就是“证书请求文件”;为了确保我提供的信息在互联网的传输过程中不会被有意或者无意的破坏掉,我们有如下的机制来对传输的内容进行保护:首先在本地生成一个私钥,利用这个私钥对“我们需要提供的信息“进行加密,从而生成 证书请求文件(.csr), 这个证书请求文件其实就是私钥对应的公钥证书的原始文件,里面含有对应的公钥信息; 这一系列听起来很复杂,不过我们有很多工具可以用,Linux下常用openssl 命令来实现:

#生成私钥:myprivate.key ,采用rsa 算法,2048bit
[root@localhost cert_test]# openssl genrsa -out myprivate.key  2048
Generating RSA private key, 2048 bit long modulus
.........................................................................+++
...................+++
e is 65537 (0x10001)
[root@localhost cert_test]# ls
myprivate.key
[root@localhost cert_test]#

利用私钥生成证书请求文件my_cert.csr ,这个文件是公钥证书的原始文件; 在生成CSR文件的时候,需要根据“证书机构” 提供的证书X.509 信息来填写,不可以随便乱填哦!(下面的示例是乱填写的哦), 在本例子中,生成签名证书的时候要求如下的信息必须相同:Country Name, State or Province Name, Organization Name

[root@localhost cert_test]# openssl req -new -key myprivate.key  -out my_cert.csr -days 180
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:GuangDong
Locality Name (eg, city) [Default City]:GuanagZhou
Organization Name (eg, company) [Default Company Ltd]:mycompany
Organizational Unit Name (eg, section) []:Tech_depart
Common Name (eg, your name or your server's hostname) []:www.my.com
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@localhost cert_test]# ls
my_cert.csr  myprivate.key  #分别是私钥,以及证书请求文件;
[root@localhost cert_test]#

至此,证书请求文件就成功生成了; 想必你一定明白了什么是证书请求文件以及怎么用openssl创建证书请求文件了吧! 下一篇 带你通俗理解根证书CA以及创建根证书CA. 本文原创,转载请注明出处

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数字证书系列-CA以及用CA 签发用户证书

    我们如何由证书请求文件获得证书呢? 我们的证书请求文件一般发送给相应(取决于CSR文件创建向导中填写的X.509信息)的可信任“证书签发”机构,他们会给我们生成...

    qsjs
  • python正则表达式学习拾遗

    本篇学习笔记参考re——正则表达式 所作,不明白之处可以参阅上述的官方文档。 因为是个人学习笔记,所以并不会完全介绍所有的正则表达式,而是查漏补缺性质的. ...

    qsjs
  • shell脚本中while 和shift 配和解决变长参数问题

    在shell脚本中,我们经常需要根据传递的参数个数来进行相应的处理,那么参数个数不定的情况下如何实现优雅的处理呢?

    qsjs
  • Go语言获取Windows下文件是否隐藏

    package main import(   "fmt"   "io/ioutil"   "os" ) var dirpath ="D:\\" func mai...

    李海彬
  • 菲律宾经济特区向三个加密交易所授予许可数字资产平台开发搭建

    据马尼拉时报7月10日报道,菲律宾卡加延经济区管理局(CEZA)向经济区内的三家加密资产交易所发放了临时许可证.CEZA预计在发行后将吸引300万美元的投资。

    电微13823152032
  • 使用 CMake + Git Submodule 方式管理项目三方库

    在项目开发过程中,避免不了要使用一些开源的三方库,我参加过的一些团队有不同的管理三方库的方式。不同的方式都各有优缺点,我们先列举一下碰到过的管理方式,说一些他们...

    我与梦想有个约会
  • Hyperledger Fabric之会员身份

    https://hyperledger-fabric.readthedocs.io/en/release-1.2/membership/membership.h...

    Zeal
  • 【有人@我】Android中高亮变色显示文本中的关键字

    应该是好久没有写有关技术类的文章了,前天还有人在群里问我,说群主很长时间没有分享干货了,今天分享一篇Android中TextView在大段的文字内容中如何让关键...

    非著名程序员
  • 手把手教你使用 cert-manager 签发免费证书

    roc,腾讯高级工程师,Kubernetes Contributor,热爱开源,专注云原生领域。目前主要负责腾讯云TKE 的售中、售后的技术支持,根据客户需求...

    腾讯云原生
  • 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/d...

    逸鹏

扫码关注云+社区

领取腾讯云代金券