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

技术支持 东莞网站建设首页策划方案

技术支持 东莞网站建设,首页策划方案,大连免费营销型建站网络推广,手机影视网站建设文章目录 openssl3.2 - 官方demo学习 - test - certs概述笔记.sh的执行语句打印的方法要修改的实际函数END openssl3.2 - 官方demo学习 - test - certs 概述 官方demos目录有证书操作的例子 已经做了笔记 openssl3.2 - 官方demo学习 - certs 但是这个demos/certs目录的脚本,… 文章目录 openssl3.2 - 官方demo学习 - test - certs概述笔记.sh的执行语句打印的方法要修改的实际函数END openssl3.2 - 官方demo学习 - test - certs 概述 官方demos目录有证书操作的例子 已经做了笔记 openssl3.2 - 官方demo学习 - certs 但是这个demos/certs目录的脚本, 并没有演示如何操作PKCS12证书. 在官方给的程序例子中, 有操作PKCS12证书的工程, 但是却没有配套的PKCS12证书. 这咋弄? 翻了一下openssl源码工程, 发现测试目录中有2个脚本, 非常精彩, 比官方demos目录给出的脚本能操作的证书详细多了. 里面也有PKCS12证书的例子. 将test/certs目录中除了2个.sh都删掉, 在cygwin64下执行setup.sh, 可以将证书全部生成出来. 不过有报错, 原因是cygwin64中带的openssl是3.0.12, 不是最新版的3.2. cygwin64升到最新的openssl也不是最新版的3.20. 这个目录是openssl自己测试用的, 证书的操作应该是最全的. 但是, 这2个.sh是bash脚本, 运行起来, 看不到执行了啥命令行(最终执行的都是openssl命令行). 想改一下.sh, 将最终执行的openssl命令行打印出来, 让人眼能看到. 然后我就可以在用windows下的openssl带相同命令行做相同的事情了. 笔记 .sh的执行语句打印的方法 在原有的这2个.sh上, 加了一个简单的测试函数, 测试了好使, 修改的思路就这么定了. # this funciton test_exec() on mkcert.sh test_exec() {# 变量 - 赋值TEST_CMDls -l# 变量 - 打印echo TEST_CMD $TEST_CMD# 变量 - 执行$TEST_CMD }# this call on setup.sh ./mkcert.sh test_exec在cygwnwin64环境下, 执行如下语句, 可以执行到test_exec() 在程序执行的同时, 将执行的命令行也打印出来了. 这就是我想要的效果. chenxls-Precision3561 /cygdrive/d/my_dev/my_local_git_prj/study/sh $ ./setup.sh TEST_CMD ls -l total 20 -rwxrwx--- 1 Administrators chenx 12465 Jan 17 18:24 mkcert.sh -rwxrwx--- 1 Administrators chenx 138 Jan 17 18:25 setup.sh 要修改的实际函数 官方原始的脚本, 是执行 ./setup.sh, 间接的调用mkcert.sh(作为脚本库)来干活. setup.sh中, 都是调用mkcert.sh中的脚本函数, 看不到任何openssl相关的东西 ./mkcert.sh genroot Root CA root-key root-cert在mkcert.sh中, 先经过中间函数处理传入的参数, 最终会进入到有openssl最终调用的函数中. 包含openssl最终调用的函数有4个(cert(), req_nocn(), req(), key()), 如下. key() {local key$1; shiftlocal algrsaif [ -n $OPENSSL_KEYALG ]; thenalg$OPENSSL_KEYALGfilocal bits2048if [ -n $OPENSSL_KEYBITS ]; thenbits$OPENSSL_KEYBITSfiif [ ! -f ${key}.pem ]; thenargs(-algorithm $alg)case $alg inrsa) args(${args[]} -pkeyopt rsa_keygen_bits:$bits );;ec) args(${args[]} -pkeyopt ec_paramgen_curve:$bits)args(${args[]} -pkeyopt ec_param_enc:named_curve);;dsa) args(-paramfile $bits);;ed25519) ;;ed448) ;;*) printf Unsupported key algorithm: %s\n $alg 2; return 1;;esacstderr_onerror \openssl genpkey ${args[]} -out ${key}.pemfi }# Usage: $0 req keyname dn1 dn2 ... req() {local key$1; shiftkey $keylocal errsstderr_onerror \openssl req -new -${OPENSSL_SIGALG} -key ${key}.pem \-config (printf string_mask%s\n[req]\n%s\n%s\n[dn]\n \$REQMASK prompt no distinguished_name dnfor dn in $; do echo $dn; done) }req_nocn() {local key$1; shiftkey $keystderr_onerror \openssl req -new -${OPENSSL_SIGALG} -subj / -key ${key}.pem \-config (printf [req]\n%s\n[dn]\nCN_default \n \distinguished_name dn) }cert() {local cert$1; shiftlocal exts$1; shiftstderr_onerror \openssl x509 -req -${OPENSSL_SIGALG} -out ${cert}.pem \-extfile (printf %s\n $exts) $ } 对sh编程不熟, 但是能看懂. 小动一下是可以的. 这4个函数最终调用openssl时, 参数给的比较复杂, 如果直接用echo来打印最终的命令行, 试过了, 不好使. 原因是, 这个命令行中有一些即时生成的参数, 如果用echo直接打印, 看不到真正的变量值. 准备将传给openssl的参数再复制给一些中间变量, 最后再将拼好的中间变量再传给openssl, 这样就能打印出命令行了. 准备改这4个函数, 将最终要执行的openssl命令行打印出来, 且能正常执行openssl命令. END
http://www.hkea.cn/news/14274670/

相关文章:

  • 网站分页设计南宁网络推广平台
  • 黑网站代码制作网络哪里能接活做网站
  • 北京市网站设计别人的wordpress打开很快
  • 做影视网站怎么挣钱眉山市建设局网站
  • 外贸网站排名天津公司做网站
  • 济南百度整站seo推广wordpress百度自动推送
  • 做网站三大主流框架单位网站建设收费标准
  • 北京网站建设怎么样天计算机学院网站建设
  • 毕节市住房和城乡建设局网站iis7搭建网站
  • 惠州外贸网站建设推广做网站大概需要几步
  • 网站seo怎么优化wordpress大前端logo
  • 江苏神禹建设有限公司网站深圳的网站建设公司哪家好
  • 汽车用品网站源码外贸企业网站优化
  • 四川省建设网站电子签章网站规划与建设需求分析
  • 上海备案证查询网站查询网站查询系统江都建设银行网站
  • 网页制作与网站建设宝典 pdf设计自己的logo
  • 正规免费发布信息网站网站被黑能查到是谁做的吗
  • 郑州好的网站建设公司哪家好广告网站建设报价
  • 怎么制作网站建设宝安官网网站建设比较好的
  • 南宁网站建设培训班宿迁莱布拉网站建设
  • 注册公司那家网站做的比较好led灯笼河网站建设
  • 开放大学门户网站建设方案百度应用市场app下载安装
  • 可视化建站源码中国建设银行网站网上业务服务范围
  • 如何做的网站手机可以用吗免费网站建设基础步骤
  • 做网站套路长沙网络工程学院
  • 城阳网站改版网站开发摊销年限
  • 做网站的公司哪家有名办公室装修案例
  • 比较好的网站开发服务商邯郸做淘宝网站
  • 行情网免费网站大全电子商务策划书模板
  • 湖州网站建设哪家好查企业免费的网站