RSA加密

作者: 大写的空气 | 来源:发表于2021-10-26 20:34 被阅读0次

    Mac系统内置OpenSSL(开源加密库), Mac终端可以直接使用OpenSSL进行RSA的命令运行.
    openssl version获取当前版本,如果未安装,通过sudo apt-get install openssl

    • 生成RSA私钥,密钥长度为1024bit
    cd Desktop
    openssl genrsa -out private.pem 1024
    

    截图中私钥名称为:rsa.pem


    桌面生成rsa.pem私钥
    • 从私钥中提取公钥
      openssl rsa -in private.pem -pubout -out public.pem
      桌面生成公钥
    • 将私钥转为明文
    openssl rsa -in private.pem -text -out private.txt
    cat private.txt   //直接在终端查看文本信息
    
    • 公钥加密,私钥解密
    // 通过公钥加密
    openssl rsautl -encrypt -in message.txt -inkey public.pem -pubin -out enc.txt
    //私钥解密
    openssl rsautl  -decrypt -in enc.txt -inkey private.pem -out dec.txt
    
    文件过大会报错
    • 私钥加密,公钥解密
    //私钥加密
    openssl rsautl -sign -in message.txt -inkey private.pem -out enc2.txt
    //公钥解密
    openssl rsautl  -verify -in enc2.txt -inkey public.pem -pubin -out dec2.txt
    
    • 终端转pkcs8并直接打印私钥信息
      openssl pkcs8 -topk8 -inform PEM -in rsa.pem -outform PEM -nocrypt

      私钥打印
    • 生成p12文件

    // 申请请求文件, 需要填写一系列的证书信息
    openssl req -new -key private.pem -out rsacert.csr
    // 获取crt证书
    openssl x509 -req -days 3650 -in rsacert.csr -signkey private.pem -out rsacert.crt
    // 将crt证书转为der文件
    openssl x509 -outform der -in rsacert.crt -out rsacert.der
    // 通过crt证书生成p12文件, 需要设置一个新的p12文件密码
    openssl pkcs12 -export -out p.p12 -inkey private.pem -in rsacert.crt
    
    相关命令生成的文件

    Java开发中需要将私钥转换为PKCS8: pkcs8 -topk8 -inform PEM -in rsa.pem -outform PEM -nocrypt -out rsa_private_key_pkcs8.pem
    直接更改pem后缀为txt可以直接得到公私钥字符串

    相关文章

      网友评论

          本文标题:RSA加密

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