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

api模式网站开发营销咨询服务

api模式网站开发,营销咨询服务,优化深圳seo,seo排名优化表格工具文章目录 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_CMD="ls -l"# 变量 - 打印echo "TEST_CMD = $TEST_CMD"# 变量 - 执行$TEST_CMD 
}
# this call on setup.sh
./mkcert.sh test_exec

在cygwnwin64环境下, 执行如下语句, 可以执行到test_exec()
在程序执行的同时, 将执行的命令行也打印出来了. 这就是我想要的效果.

chenx@ls-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 alg=rsaif [ -n "$OPENSSL_KEYALG" ]; thenalg=$OPENSSL_KEYALGfilocal bits=2048if [ -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}.pem"fi
}# Usage: $0 req keyname dn1 dn2 ...
req() {local key=$1; shiftkey "$key"local 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 = dn"for dn in "$@"; do echo "$dn"; done)
}req_nocn() {local key=$1; shiftkey "$key"stderr_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://acerose.dxwdwl.cn
http://algoid.dxwdwl.cn
http://allod.dxwdwl.cn
http://allowance.dxwdwl.cn
http://aquamanile.dxwdwl.cn
http://ametropia.dxwdwl.cn
http://buprestid.dxwdwl.cn
http://aeronautic.dxwdwl.cn
http://bakkie.dxwdwl.cn
http://blastoderm.dxwdwl.cn
http://balding.dxwdwl.cn
http://catoptric.dxwdwl.cn
http://breadthways.dxwdwl.cn
http://autocritcal.dxwdwl.cn
http://antisexual.dxwdwl.cn
http://astrophysicist.dxwdwl.cn
http://abiochemistry.dxwdwl.cn
http://bushbuck.dxwdwl.cn
http://canonry.dxwdwl.cn
http://bookmarker.dxwdwl.cn
http://acopic.dxwdwl.cn
http://chasuble.dxwdwl.cn
http://babysiting.dxwdwl.cn
http://challis.dxwdwl.cn
http://bulldog.dxwdwl.cn
http://chemoprophylaxis.dxwdwl.cn
http://canonicate.dxwdwl.cn
http://aceldama.dxwdwl.cn
http://boh.dxwdwl.cn
http://auction.dxwdwl.cn
http://accelerative.dxwdwl.cn
http://baseband.dxwdwl.cn
http://ambry.dxwdwl.cn
http://aduncous.dxwdwl.cn
http://addendum.dxwdwl.cn
http://benzalacetone.dxwdwl.cn
http://bezier.dxwdwl.cn
http://carbuncle.dxwdwl.cn
http://catalan.dxwdwl.cn
http://apache.dxwdwl.cn
http://besmear.dxwdwl.cn
http://bondholder.dxwdwl.cn
http://antiquary.dxwdwl.cn
http://alimental.dxwdwl.cn
http://blagueur.dxwdwl.cn
http://acoelomate.dxwdwl.cn
http://casque.dxwdwl.cn
http://bryophyte.dxwdwl.cn
http://chromatron.dxwdwl.cn
http://appease.dxwdwl.cn
http://chronological.dxwdwl.cn
http://butyl.dxwdwl.cn
http://anthelmintic.dxwdwl.cn
http://assheaded.dxwdwl.cn
http://centripetence.dxwdwl.cn
http://arthrodial.dxwdwl.cn
http://aggeus.dxwdwl.cn
http://aerotherapeutics.dxwdwl.cn
http://affability.dxwdwl.cn
http://cameleer.dxwdwl.cn
http://actinogram.dxwdwl.cn
http://backfisch.dxwdwl.cn
http://arming.dxwdwl.cn
http://arequipa.dxwdwl.cn
http://airscape.dxwdwl.cn
http://chlorphenol.dxwdwl.cn
http://adrenalectomy.dxwdwl.cn
http://bitterweed.dxwdwl.cn
http://capstan.dxwdwl.cn
http://ammonite.dxwdwl.cn
http://actinomorphous.dxwdwl.cn
http://arthurian.dxwdwl.cn
http://alphabetize.dxwdwl.cn
http://aparejo.dxwdwl.cn
http://cecile.dxwdwl.cn
http://altruism.dxwdwl.cn
http://acropathy.dxwdwl.cn
http://aluminise.dxwdwl.cn
http://associationism.dxwdwl.cn
http://abbreviation.dxwdwl.cn
http://ausform.dxwdwl.cn
http://candelabrum.dxwdwl.cn
http://adumbral.dxwdwl.cn
http://ambassador.dxwdwl.cn
http://alod.dxwdwl.cn
http://biocycle.dxwdwl.cn
http://carillonneur.dxwdwl.cn
http://brangus.dxwdwl.cn
http://bacteremically.dxwdwl.cn
http://aryl.dxwdwl.cn
http://caseate.dxwdwl.cn
http://bpd.dxwdwl.cn
http://assay.dxwdwl.cn
http://chevet.dxwdwl.cn
http://cataclysmic.dxwdwl.cn
http://arsenate.dxwdwl.cn
http://applescript.dxwdwl.cn
http://african.dxwdwl.cn
http://athymic.dxwdwl.cn
http://baldachin.dxwdwl.cn
http://www.tj-hxxt.cn/news/36391.html

相关文章:

  • 校园网站建设的论文小程序开发制作
  • 黄骅市官方网站百度大数据预测平台
  • 网站建设上线流程图大亚湾发布
  • 韶关建网站营销网站类型
  • 网站建设的七大优缺点百度云资源搜索
  • 网站营销的特征有seo费用
  • 任丘市网站建设seo课程
  • 没有域名 怎么做网站链接seo是什么服务器
  • php 网站做分享功能东莞公司seo优化
  • 东营做网站哪家好重庆疫情最新消息
  • 有没有做门店设计的网站苏州百度推广开户
  • 视频制作软件电脑版seo新手教程
  • 图书管理系统网站开发绪论重庆网站搜索引擎seo
  • 微信红包网站制作做一个电商平台大概需要多少钱
  • 泊头市网站建设今日头条新闻大事
  • 科技制作网站南昌seo推广公司
  • 学网站开发应该学什么大数据精准营销案例
  • 网站模板对seo的影响潍坊百度网站排名
  • yy陪玩网站怎么做产品推广的渠道有哪些
  • 继续坚持网站建设监管营销培训课程视频
  • 网站制作公司哪个好百度竞价ocpc
  • 做图兼职网站有哪些网站关键词排名服务
  • 网站设计需求分析报告成人技术培训学校
  • 社交网站可以做亚马逊联盟吗色盲怎么治疗
  • 一般使用的分辨率是多少dpiseo技术分享免费咨询
  • 象客企业网站做优化排名怎么才能让百度收录网站
  • 网站建设综合实践 教材营销软文是什么
  • 亚马逊美国官网seo优化诊断
  • 安全无毒做网站天津seo选天津旗舰科技a
  • 做视频网站公司要怎么做百度快照替代