在使用OpenSSL命令创建证书前,可查看配置文件/etc/pki/tls/openss.conf文件,查看该文件定义了的证书存放位置及名称。

一、server生成证书文件。

1、生成私钥:openssl genrsa -out server.key 2048

2、查看私钥内容:openssl rsa -noout -text -in server.key

3、使用私钥生成证书基本概要:openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Jiangxi/L=Nanchang/O=vihoo/OU=QITU/CN=www.qitu.com"(或者使用-config openssl.cnf模板创建概要)

4、查看概要内容:openssl req -noout -text –in server.csr  #概要信息包含:1S0国家代码(两位字符)、所在省份、所在城市、公司名称、部门名称、SSL证书的域名、公钥等

5、如果交给权威机构来做,我们只需要提交server.csr与相关费用就好了,下面我们使用自建的CA颁发证书。

二、自建CA认证生成数字证书。

首先为CA提供所需的目录及文件,并指明证书的开始编号:

mkdir -pv /etc/pki/CA/{certs,crl,newcerts}

touch /etc/pki/CA/{serial,index.txt}

echo 01 > /etc/pki/CA/serial

#随后生成私钥,注意私钥的文件名及其存放的位置,需与配置文件中相匹配:

1、生成私钥:openssl genrsa -out ca.key 2048

2、使用私钥生成证书基本概要:openssl req -new -key ca.key -out ca.csr -subj "/C=CN/ST=Jiangxi/L=Nanchang/O=vihoo/OU=QITU/CN=www.ca.com"

3、通过证书概要生成根证书(包含CA 公钥信息):openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt -days 3650(如果是权威机构,会将证书内置浏览器、或者开源的SDK中,我们自己创建的,浏览器会提示证书不可信任,需要自己手动点击信任与安装证书。)

4、使用根证书与根私钥加密 server的证书基本概要,生成server证书:openssl ca -in server.csr -cert ca.crt -keyfile ca.key -out server.crt -days 3650

三、client生成证书文件(双向认证前提下使用)。

openssl genrsa -out client.key 2048

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

openssl ca -days 3650 -cert ca.crt -keyfile ca.key -in client.csr -out client.crt

四、生成pem格式证书:

有时需要用到pem格式的证书,可以用以下方式合并证书文件(crt)和私钥文件(key)来生成

cat client.crt client.key> client.pem

cat server.crt server.key > server.pem

五、查看证书信息

查看证书详情:openssl x509 -in server.crt -text -noout

查看证书部分信息:openssl x509 -in /etc/pki/CA/server.crt -noout -serial -dates -subject

-noout:不输出加密的证书内容;

-serial:输出证书序列号;

-dates:显示证书有效期的开始和终止时间;

-subject:输出证书的subject;

通过私钥生成公钥:openssl rsa -in server.key -pubout -out server_public.key

通过证书提取公钥:openssl_master x509 -in server.crt -pubkey –noout > server_public.key

上一篇:Linux中阶—日志归档logroutate(三)

下一篇:Linux中阶—超文本加密协议https(五)

Linux中阶—加密库OpenSSL(四)相关推荐

  1. Linux中的动态库和静态库(.a/.la/.so/.o)

    为什么80%的码农都做不了架构师?>>>    Linux中的动态库和静态库(.a/.la/.so/.o) Linux中的动态库和静态库(.a/.la/.so/.o) C/C++程序 ...

  2. 在Linux中创建静态库和动态库 (转)

    我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态 库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而 ...

  3. 在Linux中创建静态库.a和动态库.so

    转自:http://www.cnblogs.com/laojie4321/archive/2012/03/28/2421056.html 在Linux中创建静态库.a和动态库.so 我们通常把一些公用 ...

  4. Linux中阶—域名解析服务DNS(十)

    全局配置文件:/etc/named.conf //单行注释类型 /*   多行注释 */ //声明控制通道 key "rndc-key" {         algorithm h ...

  5. Linux中阶—文件服务vsftpd (九)

    vsftpd服务安装: yum -y install vsftpd* yum -y install pam* libdb -utils libdb* --skip-broken 软件结构如下: ​ ​ ...

  6. Linux中C语言标准库glibc源码下载

    在这篇文章理清gcc.libc.glibc.libc++.libstdc++的关系,我们大概理解了libc,glibc之间的一些关系. 下面我们就开了解一些Linux中C语言标准库glibc源码. 在 ...

  7. 两个开发源码加密库openssl和cryptlib的比较

    [openssl资源] 作者:Eric Yang等 官方网站:http://www.openssl.org 中文网站推荐:http://gdwzh.126.com 当前版本: openssl-0.9. ...

  8. PHP成为首个在内核中嵌入加密库的编程语言

    PHP团队最近投票一致通过了"将Libsodium库集成到PHP内核中"的决议,使得PHP成为首个使用公认现代加密库的编程语言. Libsodium是个便捷,可交叉编译,现代化,易 ...

  9. linux下终端urvst,Linux中的静态库与动态库

    #什么是库文件? 库文件是事先编译好的方法的合集.比如:我们提前写好一些数据公式的实现,将其打包成库文件,以后使用只需要库文件就可以,不需要重新编写. #Linux系统中: 1.静态库的扩展名为.a: ...

最新文章

  1. 第十届 蓝桥杯样题 —— 信用卡号验证
  2. 桁架工业机器人编程_工业机器人之桁架机器人
  3. 语义分割论文阅读:FCN、PSPNet、DDRNet、BiseNet、BiseNetV2、deeplabv3
  4. 降低代码执行中得内存消耗_微服务中使用 OpenJ9 JVM内存占用降低60%!
  5. 图形裁剪算法matlab,MATLAB裁剪图片
  6. 随输入动态改变ui_深入详解 Jetpack Compose | 优化 UI 构建
  7. php多应用,thinkphp6开启多应用模式
  8. linux服务器跟踪命令,Linux下使用strace命令来跟踪.htaccess的使用
  9. 软考的一些心得分享, 写在信息系统项目管理师通过之后
  10. CSS按钮动画(二)
  11. 打开文件对话框在xp和win7上的实现文件任意多选
  12. java byte 编码_java字节编码总结
  13. 全网搜歌神器Listen1 Mac中文版
  14. 在没有ftp上传软件时怎么上传
  15. 解除360的系统压缩
  16. OpenGL应用:天空盒子(SkyBox)
  17. 有道笔记Markdown快捷键
  18. 【算法详解-数学】(1)φ的基本知识
  19. 下载个PDF居然还要密码?想要密码就付费?这我能忍你!Python分分钟解密它!
  20. OpenCVSharp入门教程——导读

热门文章

  1. 硬盘坏了可以修复吗?如何恢复里面的数据?
  2. 十年前你绝对没有看懂的《大话西游》.
  3. epub文件打开乱码_什么是EPUB文件(以及如何打开一个文件)?
  4. python io多路复用_【python】-- IO多路复用(select、poll、epoll)介绍及实现
  5. zookeeper客户端 curator的使用
  6. 全国高校恋爱关系图谱:北大受宠爱,浙大最孤独
  7. 小米运维部14年校招笔试题A的个人答案
  8. Excel工作日计算时,怎样去除周末和节假日
  9. Apache Calcite初探和csv简单例子
  10. 基于Atmel128A单片机的MP31.0设计