CentOS7 中使用 gpg 创建 RSA 非对称密钥对

gpg  --gen-key
#在最后需要对设备进行操作的时候,可以在打开一个终端,然后 dd  if=/dev/sda  of=/dev/null
#生成的文件存在 ~/..gnupg 目录中
gpg --list-keys    #用来查看生成的密钥列表base64 pubring.gpg #查看私钥#由于密钥中含有不可见字符,如果直接cat查看会有许多乱码,因此用base64编码后显示gpg -a --export -o test.pubkey #用私钥生成公钥"test.pubkey可以换成任意名字
# "a"  就是用base64编码后显示

CentOS7 导出的公钥,拷贝到 CentOS8 中,在 CentOS8 中使用CentOS7 的公钥加密一个文件

在将主机上的公钥拷贝到另一台主机后在另一台主机上gpg --gen-key        #同样需要先生成一个私钥gpg --import ~/test.pubkey  #将centos7的公钥导入gpg --list-keys       #此时会看到两个信息,一个是centos8创建的私钥,一个是centos7的公钥,要记住结果中的"UID"的名字echo  123456  > /file.txt #随便创建个文件,一会要加密这个文件gpg -e -r testenc file.txt   #因为是加密数据,所以直接cat查看会乱码
#这里的"testenc"是 centos7创建私钥时起的名字,我们想要用centos7的公钥加密,所以这里时centos7的公钥的UID名字ls
file.txt.gpg            #这便是加密后的文件gpg -d file.txt.gpg  >asd.txt   #在centos8中解密,会报下面的错误
#gpg: decryption failed: No secret key   #这也说明了,用谁的公钥加密,只能用谁的公钥解密.待会我们会将这个文件传回centos7

到 CentOS7 服务器,远程拷贝 file.txt.gpg 文件到本地,使用 CentOS7的私钥解密文件

#此时将file.txt.gpg 拷贝回 centos7ls
file.txt.gpggpg -d file.txt.gpg > asd.txt  #将file.txt.gpg文件解密并重定向到asd.txt中cat asd.txt
123456
#大功告成

CentOS7 中使用 openssl 软件创建 CA

mkdir /etc/pki/CA/{certs,crl,newcerts,private}  -pv  #先创建CA需要的文件夹touch /etc/pki/CA/index.txt
#生成证书索引数据库文件(存放已经颁发证书的信息,如无此文件,颁发证书时,会报错) echo 01 > /etc/pki/CA/serial
#指定第一个颁发证书的序列号(无此文件,颁发证书时会报错)echo 01 > /etc/pki/CA/crlnumber
#指定证书吊销列表的序号 (无此文件,吊销证书时会报错)tree /etc/pki/CA/
/etc/pki/CA/
├── certs
├── crl
├── crlnumber
├── index.txt
├── newcerts
├── private
└── serial
4 directories, 3 filescd /etc/pki/CA/(umask 066 ; openssl genrsa -out private/cakey.pem 2048)
#建私钥放在 /private/目录下叫cakey.pem(输出的名字必须是cakey.pem,否则会面签发时会报错)
#报的错误:Error opening CA private key /etc/pki/CA/private/cakey.pem139650121021328:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/private/cakey.pem','r')openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out  /etc/pki/CA/cacert.pem
#根据cakey这个私钥生成自签证书  有限期是10年#可以将cacert.pem导出到windows,该名成cacert.pem.crt就可以看到证书信息了

可以看到颁发者和颁发给为同一人,即为自签名证书

在 CentOS7 中使用 openssl 软件创建一个证书申请请求文件,并使用上面的跟证书对其进行签署

openssl req -new -key private/cakey.pem  -out test.csr
#根据之前生成的私钥(cakey)来创建一个证书申请文件(.csr)openssl ca -in  test.csr  -out test.crt -days 36500
#签发证书申请文件#此时导出这个文件到windows就可以看到了

颁发者是刚才自签名的chui.tk

吊销签署成功的证书

openssl x509 -in test.crt  -noout -serial  -subject
serial=01
subject= /C=CN/ST=HLJ/O=CHUIKE/OU=CEP/CN=yuzhouxiangyan.tk
#查看证书的编号,和创建时候填写的信息,此过程是为了确认用openssl ca -revoke /etc/pki/CA/newcerts/01.pem
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated
#吊销01这个证书openssl ca -gencrl -out /etc/pki/CA/crl.pem
#更新证书吊销列表openssl crl -in /etc/pki/CA/crl.pem -noout -text
#可以查看证书的吊销列表,也可以传到windows上查看

私钥创建,申请证书,吊销证书,创建自签名证书相关推荐

  1. thawte代码签名证书,comodo软件签名证书,symantec,digicert签名证书的区别

    代码签名证书区别 1. comodo thawte symantec代码签名证书仅支持SHA2(SHA256)加密算法 2. digicert代码签名证书支持SHA1和SHA2(SHA256)加密算法 ...

  2. ie检查服务器证书吊销,检查服务器证书吊销选项在哪里?服务器证书无效怎么办?...

    我们现在基本上每天都离不开电脑,不管是生活还是工作,基本上都需要用到电脑,所以说我们对网络的知识都要有一定的了解.那么对于服务器证书有时候很多人都不是特别的了解,给大家讲一下检查服务器证书吊销选项在哪 ...

  3. java和签名工具_java 证书工具keytool生成自签名证书和自签CA证书

    jdk自带的证书管理工具叫keytool,在jdk/bin目录下,可以用来生成自签名证书.导入导出证书.打印证书信息等. 1. 名词 自签名证书:用自己的私钥签发自己的公钥即主体信息生成的证书. 证书 ...

  4. linux安装globalsign证书,GlobalSign 普通 OV 代码签名证书提取教程

    普通型代码签名证书分为软件证书和硬件 Token 证书,本例介绍软件证书提取过程,硬件证书提取可参考 EV 代码签名证书提取教程. 扩展阅读 第一部分:提取证书 a.必须使用 IE 浏览器访问提取链接 ...

  5. 生成服务器证书 启用HTTPS 生成自签名证书

    HTTPS的传输过程需要使用公私钥对收发数据进行加密,为了防止中间人攻击,需要在服务器端配置证书,通常,证书由可信的CA(Certificate Authority,数字证书认证中心)机构颁发,但是需 ...

  6. python 证书-Python 发送带自签名证书的 https 请求

    在拥有 .pfx 文件和其密码(若有加密)的前提下进行 https 请求 (关于这些文件的说明,参考:https://blog.51cto.com/wushank/1915795): 所有方法均忽略了 ...

  7. 密钥、证书原理与创建

    一.公私钥 公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),将其中的一个向外界公开,称为公钥:另一个自己保留,称为私钥.通过这种算法得到的密钥对能保证在世界范围内是唯一的.使用这个密 ...

  8. 密码学专题 证书和CA指令 申请证书|建立CA|CA操作|使用证书|验证证书

    Req指令介绍 功能概述和指令格式 req指令一般来说应该是提供给证书申请用户的工具,用来生成证书请求以便交给CA验证和签发证书.但是,OpenSSL的req指令的功能远比这样的要求强大得多,它不仅可 ...

  9. 你不在意的HTTPS证书吊销机制

    现任美团安全部技术专家,十年以上互联网产品研发经验,专注于分布式系统架构设计,目前主要从事安全防御产品研发工作. 缘起 偶刷<长安十二时辰>,午睡时,梦到我穿越到了唐朝,在长安城中的靖安司 ...

  10. 全面剖析VeriSign代码签名证书

    本文档由维瑞技术中心提供:VeriSign代码签名 www.willrey.com 什么是代码签名?我为什么需要代码签名证书? 用户在线下载应用程序.安装插件附件.与复杂的 网络应用程序交互时,出于安 ...

最新文章

  1. vlc学习计划(4)--在EMACS中使用GDB调试
  2. 机智云官网用到的库-grid.css我解析
  3. 强化学习(三)用动态规划(DP)求解
  4. 设计模式:代理模式是什么,Spring AOP还和它有关系?
  5. 搭建cacti 期间问题总结
  6. C语言齿轮参数计算程序,C语言程序实现齿轮基本参数几何尺寸计算.pdf
  7. 用flashAS3.0做一个连线题
  8. 虚拟机桥接模式联网设置
  9. 计算机房的英语怎么读音,机房位置,Host equipment room,音标,读音,翻译,英文例句,英语词典...
  10. 向量积和数量积常用知识
  11. MongoDB 极简实践入门
  12. java控制台贪食蛇_java中的贪食蛇例程
  13. numpy向量化函数
  14. bus hound 使用介绍
  15. windows网络服务进程管理dos命令
  16. 构建用于签名/加密双证书测试体系的可执行命令
  17. Linux环境中ElasticSearch启动时常见错误、解决
  18. CISSP vs CISA,该选哪个?
  19. 贪心算法的设计与实现“背包问题+活动安排”
  20. Android基础入门教程——8.3.1 三个绘图工具类详解

热门文章

  1. 欧式距离python_最小欧式距离
  2. 2019 年最好用的 6 款数据库监控工具
  3. 杰理AC692N---sdk_tool工具的使用(蓝牙参数修改)
  4. SQL中的distinct的使用方法
  5. Python爬取AES加密的m3u8视频流的小电影并转换成mp4
  6. 集成学习—GBDT(论文研读)
  7. 网易游戏研发工程师笔试题----赛马
  8. win7系统中,chm文件打开无法显示内容的解决办法
  9. 大型网站软件系统的特点
  10. Python 字典(Dictionary)day11