当前位置: 首页 > news >正文

北京汽车业务网站开发公司网站设计命名规范

北京汽车业务网站开发公司,网站设计命名规范,源代码查看WordPress文件,wordpress如何导出数据文章目录 openssl3.2 - exp - PEM <> DER概述笔记加密用的私钥(带口令保护) - PEM > DER加密用的私钥(不带口令保护) - DER > PEM将不带口令的PEM转成带口令的PEM支持口令的算法备注END openssl3.2 - exp - PEM <> DER 概述 想将客户端私钥 服务端公钥 数…

文章目录

    • openssl3.2 - exp - PEM <==> DER
    • 概述
    • 笔记
    • 加密用的私钥(带口令保护) - PEM => DER
    • 加密用的私钥(不带口令保护) - DER => PEM
    • 将不带口令的PEM转成带口令的PEM
    • 支持口令的算法
    • 备注
    • END

openssl3.2 - exp - PEM <==> DER

概述

想将客户端私钥 + 服务端公钥 数据转成 C数组, 放到客户端工程中.

用openssl默认生成好的证书, 公钥, 私钥等数据, 都是PEM格式的.
PEM格式的数据有明显的标记, 可以看到PEM数据的用途.
如果有人逆向客户端程序, 很容易看到线索.

就想着, 将PEM格式文件转为DER格式文件, 然后将DER格式文件转成数组, 再放入客户端程序来用, 这样好一些.

查资料时, 看到大部分例子都是拿证书(x509)做的例子.
看了openssl帮助, 不同的openssl对象(证书, 纯公钥, 纯私钥, DH参数…), 进行PEM和DER互转时, 用的openssl命令都是不同的.
针对不同的openssl对象, 先选好对应的对象命令, 然后才能正确的互转.

笔记

加密用的私钥(带口令保护) - PEM => DER

私钥都是有密码的, 转换时要给出密码.
密码有不同格式:
:pass - 文本密码
:env - 在环境变量中的密码
:stdin - 需要密码时, 现输入密码.
:file - 在文件中的密码

openssl pkey -in my_enc_priv_key.pem -passin pass:my_priv_key_pwd -out app_key.der -outform DER

可以看出, 如果要自动运行转换, 用哪种密码输入方式都不太安全.
最好还是不带 -passin 参数, 这样需要密码时, openssl.exe自己弹出提示需要密码, 然后自己就在命令行自己输入密码好了, 这样安全一些. 不过麻烦啊.

加密用的私钥(不带口令保护) - DER => PEM

openssl pkey -in app_key.der -out app_key3.pem -outform PEM

感觉咋原来PEM带口令保护的, 转成DER之后, 口令被搞没了…
又验证了一次, 果真, 从带口令保护的PEM(加密的私钥)转成DER后, 口令被搞没了.

如果想要导出后的DER/PEM带口令, 需要加选项 -passout

将不带口令的PEM转成带口令的PEM

openssl pkey -in app_key3.pem -out app_key5_pwd.pem -outform PEM -passout pass:111111 -aes-256-cbc

支持口令的算法

算法不能有 EVP_CIPH_FLAG_AEAD_CIPHER 标记, 模式不能是 EVP_CIPH_XTS_MODE
有以上2点的算法不能用在命令行程序的参数输入上.
通过openssl实现中的opt_cipher(), 可以看到以上2点的判断.

如果想知道哪种算法支持命令行口令, 就需要将全部算法都列出来, 然后过滤掉有上面2点的算法, 剩下的算法就都是可以用在命令行上的.
另外开一篇笔记, 先这样.
对于支持口令加密的算法列表, 已经写程序+手工验证, 一共126种算法可用(openssl3.2 - exp - 可以在命令行使用的口令算法名称列表).

备注

经过实验, 可以看出

转换就是转换, 带口令就是带口令, 相互之间没关联.
如果要操作的PEM/DER是带口令保护的, 就需要给出口令选项 -passin pass:xxx, 来完成口令验证.
如果要转换后的PEM/DER带口令保护, 就需要给出口令选项 -passout pass:xxx -cipher, 其中cipher需要是openssl支持的算法名称.
PEM/DER之间的转换分为4种, PEM=>DER; DER=>PEM; PEM=> PEM, DER=>DER. 可以加选项是否带口令保护.

如果想让程序只能打开自己的带口令保护的PEM/DER, 可以将程序校验和(e.g. 加沙后的PE校验的SHA512 )相关内容作为口令, 这样就能做到一个程序只能用自己的唯一证书(程序先写好, 然后给程序发带口令保护的证书, 然后程序正常工作.).

如果逆向的人将程序改了, 证书就不能打开成功, 后续操作(非对称/对称解密)就会失败. 间接的保护了程序被非授权用户使用.

END

http://www.yayakq.cn/news/498575/

相关文章:

  • 贺州网站制作上海做企业网站
  • 网站开发的现状及研究意义网页制作与网站建设填空题
  • 建设网站域名备案查询专门做岛屿的网站
  • 网站网站做维护今天的最新新闻内容
  • c 可以做网站嘛网站建设否定关键词
  • 花店asp网站源码珠海软件公司排名
  • 中文网站域名重庆网站建设 吧
  • 怎样打死网站淄博网站建设电话
  • 工商工事上哪个网站做wordpress原图对比插件
  • 重庆网站策划wordpress 阿里云点播
  • 创建一个行业网站多少钱网站开发博客
  • 合肥市做外贸网站的公司怎么找网站做公示
  • ftp 网站 怎么上传文件做一张网站图多少钱
  • 网站怎么提高百度权重用手机如何制作简历
  • 网站网站做代理施工企业安全生产管理制度主要有
  • 快速优化排名公司推荐网站seo 工具
  • 北京网站域名备案查询对于协会的新年祝贺语网站模板
  • 波音网站开发wordpress 分类页 获取别名
  • 网站规划设计书网站开发浏览器的使用
  • 如何设立官方网站网络营销方案分享
  • 网站制作加谷歌推广asp.net 窗体网站
  • 惠州网站制作设计北京网站建设方案报价
  • 手机网站开发算什么费用网站网站环境搭建教程
  • 安宁市建设局网站新沂网站建设公司
  • 建设网站必须要钱吗织梦城市门户网站模板
  • 深圳企业网站建设报价wordpress文章列表页教程
  • 上海中学门户网站百度快速收录3元一条
  • 支付网站建设费入什么科目网络运营需要什么学历
  • 服装网站制作wordpress js 代码
  • 建设银行网站链接陕西建设局网站