zoukankan      html  css  js  c++  java
  • 第三十八章 PEM_密钥对生成与读取方法

    一、PEM概述

    PEM是OpenSSL和许多其他SSL工具的标准格式,OpenSSL 使用PEM 文件格式存储证书和密钥。这种格式被设计用来安全的包含在ascii甚至富文本文档中,如电子邮件。这意味着您可以简单的复制和粘贴pem文件的内容到另一个文档中。
    

    二、PEM文件介绍

    PEM文件是Base64编码的证书。PEM证书通常用于web服务器,因为他们可以通过一个简单的文本编辑器,很容易地转换成可读的数据。通常当一个PEM编码在文本编辑器中打开文件,它会包含不同的页眉和页脚。
    
    #1.CSR(证书签名请求)
    -----BEGIN CERTIFICATE REQUEST----- and -----END CERTIFICATEREQUEST-----
    
    #2.私钥
    -----BEGIN RSA PRIVATE KEY----- and -----END RSA PRIVATEKEY-----
    
    #3.证书文件
    -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----
    

    三、OpenSSL简介

    OpenSSL:是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    
    OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
    

    四、PEM_密钥对生成和转化

    1.生成RSA私钥

    #1.生成RSA私钥
    [root@datalake-jumpersvc ~]$ openssl  genrsa -out rsa_private_key.pem1024
    Generating RSA private key, 2048 bit long modulus
    ..........................+++
    .............................+++
    e is 65537 (0x10001)
    
    #2.查看是否生成私钥文件
    [root@datalake-jumpersvc ~]$ ll
    总用量 32
    -rw-r--r--  1 root root 1679 4月  16 14:05 rsa_private_key.pem1024
    
    #3.查看私钥文件
    [root@datalake-jumpersvc ~]$ cat rsa_private_key.pem1024 
    -----BEGIN RSA PRIVATE KEY-----
    MIIEpAIBAAKCAQEAncuvSWLvi9Hbm2emTsTJl/mNUZjgMJQzTFn4yX5aHBhx0Bou
    ZIz3Dg7l91b1GPtAWoY8Xol5hznpjGEugWT45WAIAbmSGqoutfs80EQN89yokBbg
    JFq7JtMPCiaYaE1Zj4QZ+lpRJWwyn/FDZfWW2GcpDOq1jB5qZLn5vlJ+j8262sxR
    EkyT9hcci7TTZ6LpQYc8ALW0tYDH5muT3veBcNHbRUgO2tTzOZ+nKFYyblzDsTuZ
    K7SibGf8mLfijAnsAPCwPOV0AJe1igP9U8W1BD50E9F7rzKr4Z861H/hUAFht+p8
    mz3KiqApQicSCjn3MdB7FPBYAY5dss5tCAPW/wIDAQABAoIBAQCIKEd6RXp55X1f
    XVKtyTRChL0iWY2pnVeeXExGYVaTw6wBa3X4oYJUiRp6EHixM6vV8NqKoIlS2+/g
    h8K/OEdkdTazdlLR22Mu+DkDZJW9hPuWSYbjF79BwwDJO4BrD8NmCRD5a5F1fyU3
    ydDkW8Pruyg60xQQcfZQMAGF7lzy67FevgnpmSFN2jMeYdlsCSx5TqTN8mVql0Qh
    MdTBEP7UNMENmSm9V2HmXoN+ERwVHYymETl7LC57Kn1094pzlCq+kTJtQT4QAsc1
    EDcbVUx3viADbLUz5lItO6KILOqRUTzf2C9ORXoEuRpiDzZlaCe/VYPVxD7v8Zwz
    z90T1jeBAoGBANEEOGeW6VIzLvjZhdFC7SHwxINW5Dg5HI1LZ1w7sJJYGLeovosX
    7zoG/2QdJorOq7m+ssEWHR0TwmTzSPGPHpU0hqdnxk7akXvm0BdneqZykGJAVkw3
    3mNlDMMVl4YFVl/YiF2kgk2WgpY+9XXrlsNQvr4tJRceZjNBs1MbfZ9hAoGBAMFD
    +qmEgBSdLmlj/U2bxEDmCW6byc+5KuDHhEkUps56ls0G8CKOVY1QgIvs3J7XKFpI
    4esyBdOX5KsWZRDvKd+ExUstfVPFR3r7AFghoxt5qo7Msk/eDq0YkC/uR8N7uRzL
    Sa3eeSz/VAmotem1hyOoJonfJadgg+P6SB9ZPPJfAoGARZmRKrVu5kdS6dyNGdye
    WAHzfgSuJCaoYkhsl6Lsrh6VxHp1UJ3ctEbmPjESx4AAYO6mWXOCqE8PGUyFyqIs
    veRqvk3pFBLmBQsb2d9EUS6u83iXA/RKonBgqomDFkaqt2nEJuKD3VA0FdHLLMQR
    ROKbUXp48lTWFVVYYGE0GKECgYBF4mD3f1QZICUyMtfbgmHa3dO3TVoSZPCeS0cI
    bhFLRITXKpUWycUhzmRNNJ8qSL7stsIKnBIDSz+CphxxnSnVC1uULaTN795DGBQt
    yiwCuWH1NQudWbyQ1vr8efs1Mr3jLZc86d+DZ+hpfboaAmwVdq5I2InzFjFa9Juz
    yj8BnQKBgQCmP6KuUviZG2MF+O9tUYiB/fEIVh5GD0cYkECt2PWPKM6WmihGdCy2
    j9jHSTUt0N+pr9L+zf6Jfh2aKs5Y12cEe0njE8PwzbYjqP+XSl22frUzRNg1ISSh
    ZubGCfkoLCuicWFJhLTJ8umSv0z7JpnTQfiLU6YkagAGf57k11fuOw==
    -----END RSA PRIVATE KEY-----
    

    2.私钥转化

    #1.修改密钥名称
    [root@prd-tagging001 ~]# mv rsa_private_key.pem1024  jhno1-user.pem
    
    #2.修改密钥权限
    [root@prd-tagging001 ~]# chmod 400 jhno1-user.pem
    
    #3.创建登录用户
    [root@prd-tagging001 ~]# useradd jhno1
    
    #4.创建ssh连接目录
    [root@prd-tagging001 ~]# mkdir /home/jhno1/.ssh
     
    #5.私钥转化
    [root@prd-tagging001 ~]# ssh-keygen -y -f jhno1-user.pem > public_key1.pub
    
    [root@prd-tagging001 ~]# cat public_key1.pub  > /home/appdeployment/.ssh/authorized_keys
    
    #6.通过本地计算机xshell远程连接登录即可
    

    五、SSL证书转pfx

    openssl pkcs12 -export -out www.domain.com.pfx -inkey www.domain.com.key -in www.domain.com_cert.pem
    
    命令格式:openssl pkcs12 -export -out 输出文件名称 -inkey key文件名称 -in pem文件名称
    
    
  • 相关阅读:
    09-13练习
    IDEA设置项目文件自动Add到Svn/Git
    虚拟机启动项目时报错
    微服务调用时报错
    查询每个月每一天的访问量
    在IDEA中关于项目java版本问题
    复习宝典之设计模式
    复习宝典之Maven项目管理
    复习宝典之Mysql数据库
    复习宝典之Redis
  • 原文地址:https://www.cnblogs.com/jhno1/p/14666859.html
Copyright © 2011-2022 走看看