美文网首页
MAC生成公钥私钥、PKCS1 转 PKCS8

MAC生成公钥私钥、PKCS1 转 PKCS8

作者: 上善丨若水 | 来源:发表于2020-08-20 15:55 被阅读0次

    由于Mac自带openssl工具,所以不用像windows那样要下载安装openssl工具,我们直接在本地使用openssl来生成私钥和公钥

    步骤

    1、在本地创建文件夹rsa,并进入文件夹
    cd /jokki/rsa
    
    2、终端输入命令openssl打开工具
    3、生成RSA私钥
    genrsa -out rsa_private_key.pem 1024
    
    OpenSSL> genrsa -out rsa_private_key.pem 1024
    Generating RSA private key, 1024 bit long modulus
    ...............++++++
    ..................++++++
    e is 65537 (0x10001)
    OpenSSL> 
    

    此时我们就可以在rsa文件夹中看到rsa_private_key.pem文件了。

    4、转换秘钥格式,把RSA私钥PKCS1转换成PKCS8格式
    pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
    
    OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt 
    -----BEGIN PRIVATE KEY-----
    MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALsVZ/kunGMqLKa1
    ZLtFH+bx+i08yKKbcbwKGZ45n6isGXHgVmMqyF2N/RYHf8u3qL+dSAf7TKJ3rl49
    jPGlUUZHwccIlLqQ7CSIcwSRPH0ZbrPffxlWITTJUHKBDnWLZzLBZzaMj5mgmbSN
    XLmG++1YcjWG0S8oxBTvKVxPHWU/AgMBAAECgYEAtVfMjweVY7Iv0fCmkbgxckVA
    AbWXrbcLigAoUOz+TBt2FqIkWr/PtI+7sSzXvXprQkGM3t/CqwFjrcnv4xQiMFpZ
    ILV5v0rmwdZenVFEMD46muDhUzERQNryfCdSXAdLGeOlftMcfmudRwX/6v4Vd59b
    OCYUvp95kzv9jP4UEKECQQDrgbtEFro4i6+5NxTq+kQU13PQ5Nhqov3EY70Yx+l/
    fuKnefOJ2btY7eyd6uHJ6R61kkVtLUl+DLZ8Ah0JE7/nAkEAy1z520JM1D75LWbY
    4Zy8K+9QY1dhzUaDw0f2zfA/Gh7GiRKLQ2Z3USRyuR5bP6Fssxh0Vp3CyJvf3bUT
    4bbk6QJAdXtpJMVFrnGYfofIypOAJPl50AppH4EhoLe0nEkV5UEx5iQC5pCUUf+W
    mwySCDxf0moeciE2WUgUPHZ9b4rHnwJAKwOhfbUKVyJyxh2o5h+m1Ywq7rg+4ZJ2
    sEl6dJjKYBX+XGPlvP3hYvJYqbs4Bb95JHCZuvBnkNMXiOeSKv3qcQJANgkCgzxN
    xM/4byx54KOVc2XTuXBD1GyeiRVdDShmFn1tPElZ9w3RVIC/chWZ1g2QvWnqsb6a
    653pkG7Cs138Ng==
    -----END PRIVATE KEY-----
    OpenSSL> 
    

    注意:
    很多同学执行这个命令的时候会报下面的错误,首先查看命令是否输入正确,如果命令正确还是提示错误,可以删除之前的私钥,重新生成,再执行此命令

    OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt
    unknown option '–nocrypt'
    usage: pkcs8 [-embed] [-in file] [-inform fmt] [-nocrypt]
        [-noiter] [-nooct] [-nsdb] [-out file] [-outform fmt] [-passin src]
        [-passout src] [-topk8] [-v1 alg] [-v2 alg]
    
     -embed             Generate DSA keys in a broken format
     -in file           Input file (default stdin)
     -inform format     Input format (DER or PEM (default))
     -nocrypt           Use or expect unencrypted private key
     -noiter            Use 1 as iteration count
     -nooct             Generate RSA keys in a broken format (no octet)
     -nsdb              Generate DSA keys in the broken Netscape DB format
     -out file          Output file (default stdout)
     -outform format    Output format (DER or PEM (default))
     -passin source     Input file passphrase source
     -passout source    Output file passphrase source
     -topk8             Read traditional format key and write PKCS#8 format key
     -v1 algorithm      Use PKCS#5 v1.5 or PKCS#12 with given algorithm
     -v2 cipher         Use PKCS#5 v2.0 with given cipher
    error in pkcs8
    
    
    5、生成RSA公钥
    rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
    
    OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 
    writing RSA key
    OpenSSL> 
    
    6、exit退出
    7、这时我们到文件夹中便能看到生成的两个文件,如果想查看文件内容,将里面的.pem文件改为txt文件就可以查看里面的内容了
    image.png

    注意:

    你在mac上生成的可能是PKCS#1格式,网上很多算法是基于PKCS#8的,需要进行转换,或者换openssl版本(支付宝是pkcs#8格式)

    在线转换生成公钥私钥地址:http://tool.chacuo.net/cryptrsapkcs1pkcs8

    相关文章

      网友评论

          本文标题:MAC生成公钥私钥、PKCS1 转 PKCS8

          本文链接:https://www.haomeiwen.com/subject/gvgsjktx.html