很多时候谁告诉你弄https的时候总会出现crt,但大部分免费的ssl服务商没有给crt文件,那么只能自己转了,linux的方法很简单!

从.pem文件中提取/转换证书.crt和私钥.key文件的正确方法或者命令:openssl x509 -outform der -in your-cert.pem -out your-cert.crt

将DER文件(.crt .cer .der)转换为PEMopenssl x509 -inform der -in certificate.cer -out certificate.pem

将PEM文件转换为DERopenssl x509 -outform der -in certificate.pem -out certificate.der

将包含私钥和证书的PKCS#12文件(.pfx .p12)转换为PEMopenssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes

You can add -nocerts to only output the private key or add -nokeys to only output the certificates.

将PEM证书文件和私钥转换为PKCS#12(.pfx .p12)openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

将PEM转换为CRT(.CRT文件)openssl x509 -outform der -in certificate.pem -out certificate.crt

OpenSSL转换PEM

将PEM转换为DERopenssl x509 -outform der -in certificate.pem -out certificate.der

将PEM转换为P7Bopenssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer

将PEM转换为PFXopenssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

OpenSSL转换DER

将DER转换为PEMopenssl x509 -inform der -in certificate.cer -out certificate.pem

OpenSSL转换P7B

将P7B转换为PEMopenssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer

将P7B转换为PFXopenssl pkcs7 -print_certs -in certificate.p7b -out certificate.ceropenssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer

OpenSSL转换PFX

将PFX转换为PEMopenssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

通过OpenSSL生成rsa密钥

在命令行上使用OpenSSL,首先需要生成公钥和私钥,应该使用-passout参数密码保护此文件,该参数可以采用许多不同的形式,可以请参阅OpenSSL文档。openssl genrsa -out private.pem 1024

这将创建一个名为private.pem的密钥文件,该文件使用1024位(bits)。该文件实际上同时具有私钥和公钥,可以从该文件中提取公共密钥:openssl rsa -in private.pem -out public.pem -outform PEM -pubout

or

openssl rsa -in private.pem -pubout > public.pem

or

openssl rsa -in private.pem -pubout -out public.pem

现在你的public.pem只包含公钥,可以和第三方自由地分享。可以通过使用公钥加密自己的东西然后使用私钥进行解密来测试,首先我们需要一些数据做加密:

示例文件:echo 'too many secrets' > file.txt

现在在file.txt中有一些数据,可以使用OpenSSL和公钥进行加密:openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl

这将创建一个加密版本的file.txt,命令这个文件为file.ssl(如果直接打开这个文件查看那么它看起来只是二进制垃圾,人类无法看懂)。然后可以使用私钥解密它:openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt

现在在decryptpted.txt中有一个未加密的文件:cat decrypted.txt

|output -> too many secrets

OpenSSL中的RSA工具选项

名称:

rsa  -  RSA密钥处理工具

概要:openssl rsa [-help] [-inform PEM | NET | DER] [-outform PEM | NET | DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [ -aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin ] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id]

说明:

rsa命令处理RSA密钥。它们可以在各种形式之间进行转换,并将其组件打印出来。注意,此命令使用传统的SSLeay兼容格式进行私钥加密:较新的应用程序应使用pkcs8实用程序使用更安全的PKCS#8格式。

命令选项:-help

打印出使用信息。-inform DER|NET|PEM

指定输入格式。 DER选项使用与PKCS#1 RSAPrivateKey或SubjectPublicKeyInfo格式兼容的ASN1 DER编码格式。 PEM格式是默认格式:它由DER格式base64编码,带有附加的页眉和页脚行。在输入PKCS#8格式的私钥也被接受。 NET格式是在NOTES部分中描述的格式。-outform DER|NET|PEM

指定输出格式,选项与-inform选项的含义相同。-in filename

如果未指定此选项,则指定从或从标准输入读取密钥的输入文件名。如果密钥加密,将提示输入密码。-passin arg

输入文件的密码来源。有关arg的格式的更多信息,参阅openssl中的PASS PHRASE ARGUMENTS部分。-out filename

如果未指定此选项,则指定将密钥写入或输出的输出文件名。如果设置了任何加密选项,则会提示输入密码。输出文件名不能与输入文件名相同。-passout password

输出文件密码来源。有关arg的格式的更多信息,参阅openssl中的PASS PHRASE ARGUMENTS部分。-aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea

这些选项在输出之前用指定的密码加密私钥。会有同通行提示信息。如果没有指定这些选项,则key以纯文本形式写入。这些选项只能用于PEM格式的输出文件。-text

除了编码版本之外,以纯文本形式打印各种公共或私人密钥组件。-noout

此选项可防止输出密钥的编码版本。-modulus

此选项打印出该键的取模数值。-check

此选项将检查RSA私钥的一致性。-pubin

默认情况下,从输入文件读取私钥:使用此选项读取公钥。-pubout

默认情况下会输出一个私钥:使用此选项将会输出一个公钥。如果输入是公钥,则会自动设置此选项。-RSAPublicKey_in, -RSAPublicKey_out

像-pubin和-pubout一样,除了使用RSAPublicKey格式的情形。

-engine id

指定一个引擎(通过其获得唯一的id字符串)将导致rsa尝试获得对特定引擎功能的引用,从而在需要时进行初始化。然后,引擎将被设置为所有可用算法的默认值。

笔记

PEM私钥格式使用以下页眉和页脚行:

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

PEM公钥格式使用以下页眉和页脚行:

-----BEGIN PUBLIC KEY-----

-----END PUBLIC KEY-----

PEM RSAPublicKey格式使用以下页眉和页脚线:

-----BEGIN RSA PUBLIC KEY-----

-----END RSA PUBLIC KEY-----

NET格式是与旧的Netscape服务器和Microsoft IIS .key文件兼容的格式,它使用未加密的RC4进行加密。这种方法不是很安全,所以只能在必要时使用。一些较新版本的IIS在导出的.key文件中有其他额外的数据。要使用这些实用程序,请使用二进制编辑器查看文件,并查找字符串"private-key",然后追溯到字节序列0x30,0x82(这是一个ASN1 SEQUENCE)。将所有数据从此点复制到另一个文件,并将其用作带有-inform NET选项的rsa实用程序的输入。

例子

要删除RSA私钥上的密码短语:openssl rsa -in key.pem -out keyout.pem

使用三重DES加密私钥:openssl rsa -in key.pem -des3 -out keyout.pem

将私钥从PEM转换为DER格式:openssl rsa -in key.pem -outform DER -out keyout.der

将私钥的组件输出到标准输出:openssl rsa -in key.pem -text -noout

要输出私钥的公共部分:openssl rsa -in key.pem -pubout -out pubkey.pem

以RSAPublicKey格式输出私钥的公共部分:openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem

crt 生成pem_linux下pem转crt命令_crt转pem方法相关推荐

  1. uboot 下mmc read/write命令使用和验证方法

    uboot 下mmc read/write命令的使用和验证方法 1 mmc read/write命令格式 1.1 mmc read 1.2 mmc write 2 验证mmc读写结果正确性 2.1 m ...

  2. python pip命令无法运行,Windows下python和pip命令无法使用的解决方法

    一. python命令找不到 安装python之后经常会出现下面的问题 , python命令找不到, 这是因为Windows的环境变量中没有定义python的安装路径 这个时候我们先找到python的 ...

  3. Windows10 - 在当前文件夹下打开cmd(命令行)的方法

    1.清除文件路径输入cmd 2.按住shift,再点击鼠标右键 在某个版本前,这里右键还是打开命令行,后来换成了打开ps.有改注册表的方法,将其改回打开cmd.

  4. nodejs在windows下安装后npm命令无法使用的解决方法

    这次安装nodejs后,在cmd中, node -v  可以显示结果. 但是,npm -v 显示为空. 最后重新卸载.安装nodejs还是没有解决. 最后解决的方法是:发现在用户变量中,存在一个路径: ...

  5. 深入浅出 SSL/CA 证书及其相关证书文件(pem、crt、cer、key、csr)

    互联网是虚拟的,通过互联网我们无法正确获取对方真实身份.数字证书是网络世界中的身份证,数字证书为实现双方安全通信提供了电子认证.数字证书中含有密钥对所有者的识别信息,通过验证识别信息的真伪实现对证书持 ...

  6. 证书格式介绍及如何将.pem转换为.crt和.key?

    证书格式介绍 PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发 ...

  7. [笔记] 如何从不同扩展名的数字证书中提取明文信息? *.pem *.der *.crt *.cer *.key之间的区别是什么?...

    副标题:PEM, DER, CRT, CER, KEY, CSR, PFX/P12 等文件格式讲解 本文整理自网络,相关内容版权归原作者所有, (如有雷同绝非巧合) 作者博客:http://www.c ...

  8. 关于PEM, DER, CRT, CER,KEY等各类证书与密钥文件后缀的解释

    文章目录 1. PEM文件 2. DER文件 PEM与DER的相互转换 3. 各种密钥证书文件解释 3.1 [ .csr ] 3.2 [ .key ] 3.3 [ .crt ] [ .cert ] [ ...

  9. java p12 ssl_OpenSSL 1.0.0生成p12、jks、crt等格式SSL数字证书的全过程合集

    在这里跟万维景盛的开发者伙伴们分享OpenSSL 1.0.0生成p12.jks.crt等格式SSL数字证书的全过程合集,此生成的证书可用于浏览器.java.tomcat.c++等.步骤如下: 1.创建 ...

  10. openssl 生成证书 server.key server.crt

    x509证书一般会用到三类文,key,csr,crt. Key 是私用密钥,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密 ...

最新文章

  1. 为什么重写equals一定要重写hashCode方法?
  2. P_C_Brules
  3. Ubuntu 16.04下为Android编译OpenCV 3.1.0 Manager
  4. 【Linux】服务管理命令和压缩管理的详细解读
  5. 大数据_Hbase-shell命令_(补充_hbase存数据只增加不删除_只会适时删除)---Hbase工作笔记0006
  6. 【图像处理】MATLAB:彩色图像介绍
  7. python2.0_python之路2.0
  8. php打包命令,PHP调用Linux的命令行执行文件压缩命令
  9. linux加载dl580网卡驱动,HP DL580G5安装centos下的阵列卡驱动
  10. HTML---表格table标签中thead、tbody、tfoot的作用
  11. 嵌入式软件工程师是前端还是后端_软件开发工程师与嵌入式软件工程师有区别吗...
  12. 排序算法——希尔排序
  13. 中信期货财务因题专题报告:财务因子之单因子测试
  14. cdr mac majave os_苹果最新 macOS Mojave 10.14 正式版 懒人镜像
  15. bootstrap实战--微金所项目(导航栏)
  16. Tita: 在教育科技公司成功实施 OKR
  17. C++软件异常的常见原因分析与总结(实战经验分享)
  18. 电脑提示msvcp120.dll丢失解决步骤(win系统)
  19. Tomcat安装、配置和部署笔记
  20. 使用transform制作书本翻页效果

热门文章

  1. Unity笔记之动画遮罩
  2. 华为交换机默认vlan都是通的吗_最全的华为交换机vlan配置教程
  3. linux常用操作命令总结
  4. 无线量子通信/无线量子通讯,5G下一代物联网的创新研究
  5. swiper的基本使用
  6. Vue - $route matched 属性实现面包屑导航
  7. 华为云注册登录之图像标签识别
  8. 省市县三级联动封装邮编数据列表
  9. CocosCreator之Tween缓动动画
  10. 运维基础——Zabbix:Lack of free swap space on Zabbix server