这篇文章主要介绍了Shell脚本实现生成SSL自签署证书,本文直接给出实现代码,代码中包含大量注释,需要的朋友可以参考下
启用 apache 的 mod_ssl 之后需要有证书才能正常运作。写了个脚本来操作。首先要确定机器上已经有 openssl 。
复制代码 代码如下:
#!/bin/sh

ssl 证书输出的根目录。

sslOutputRoot="/etc/apache_ssl"
if [ $# -eq 1 ]; then
sslOutputRoot=$1
fi
if [ ! -d ${sslOutputRoot} ]; then如何起名
mkdir -p ${sslOutputRoot}
fi

cd ${sslOutputRoot}

echo “开始创建CA根证书…”

创建CA根证书,稍后用来签署用于服务器的证书。如果是通过商业性CA如

Verisign 或 Thawte 签署证书,则不需要自己来创建根证书,而是应该

把后面生成的服务器 csr 文件内容贴入一个web表格,支付签署费用并

等待签署的证书。关于商业性CA的更多信息请参见:

Verisign - http://digitalid.verisign.com/server/apacheNotice.htm

Thawte Consulting - http://www.thawte.com/certs/server/request.html

CertiSign Certificadora Digital Ltda. - http://www.certisign.com.br

IKS GmbH - http://www.iks-jena.de/produkte/ca /

Uptime Commerce Ltd. - http://www.uptimecommerce.com

BelSign NV/SA - http://www.belsign.be

生成CA根证书私钥

openssl genrsa -des3 -out ca.key 1024

生成CA根证书

根据提示填写各个字段, 但注意 Common Name 最好是有效根域名(如 zeali.net ),

并且不能和后来服务器证书签署请求文件中填写的 Common Name 完全一样,否则会

导致证书生成的时候出现

error 18 at 0 depth lookup:self signed certificate 错误

openssl req -new -x509 -days 365 -key ca.key -out ca.crt
echo “CA根证书创建完毕。”

echo “开始生成服务器证书签署文件及私钥 …”

生成服务器私钥

openssl genrsa -des3 -out server.key 1024

生成服务器证书签署请求文件, Common Name 最好填写使用该证书的完整域名

(比如: security.zeali.net )

openssl req -new -key server.key -out server.csr
ls -altrh ${sslOutputRoot}/server.*
echo “服务器证书签署文件及私钥生成完毕。”

echo “开始使用CA根证书签署服务器证书签署文件 …”

签署服务器证书,生成server.crt文件

参见 http://www.faqs.org/docs/securing/chap24sec195.html

sign.sh START

Sign a SSL Certificate Request (CSR)

Copyright © 1998-1999 Ralf S. Engelschall, All Rights Reserved.

CSR=server.csr

case $CSR in
*.csr ) CERT="echo $CSR | sed -e 's/\.csr/.crt/'" ;;

  • ) CERT="$CSR.crt" ;;
    esac

make sure environment exists

if [ ! -d ca.db.certs ]; then
mkdir ca.db.certs
fi
if [ ! -f ca.db.serial ]; then
echo ‘01’ >ca.db.serial
fi
if [ ! -f ca.db.index ]; then
cp /dev/null ca.db.index
fi

create an own SSLeay config

如果需要修改证书的有效期限,请修改下面的 default_days 参数.

当前设置为10年.

cat >ca.config <<EOT
[ ca ]
default_ca = CA_own

Shell脚本实现生成SSL自签署证书相关推荐

  1. linux生成ssl申请文件,Shell脚本实现生成SSL自签署证书

    #!/bin/sh # # ssl 证书输出的根目录. sslOutputRoot="/etc/apache_ssl" if [ $# -eq 1 ]; then sslOutpu ...

  2. 签名证书无效”-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719)

    "签名证书无效"-在vCenter Server Appliance 6.5 / 6.7上使用Shell脚本重新生成和替换已过期的STS证书(76719) 上次更新时间:2020/ ...

  3. 免费生成SSL泛解析证书

    免费生成SSL泛解析证书 1.前置条件 1.1.域名已备案 1.2.要申请证书的域名可以正常访问 1.3.一台LInux服务器 1.4.域名已挂载到腾讯云CDN(并非必须是鹅厂CDN解析平台.其他平台 ...

  4. OPENSSL生成SSL自签证书

    OPENSSL生成SSL自签证书 目前,有许多重要的公网可以访问的网站系统(如网银系统)都在使用自签SSL证书,即自建PKI系统颁发的SSL证书,而不是部署支持浏览器的SSL证书. 支持浏览器的SSL ...

  5. shell脚本批量生成配置文件

    如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原 ...

  6. 生成SSL自签名证书

    自签名证书浏览器是不认可的,但学习一下还是很有必要的. 创建SSL证书私钥,期间需要输入两次用户名和密码,证书名称命名为c.key openssl genrsa -des3 -out c.key 20 ...

  7. 一文教你生成SSL自认证证书

    在测试环境下,用户可以用通过以下方式进行数字证书测试.在客户的运行环境中,请使用从CA认证中心申请的数字证书.Linux环境安装了openssl组件. 自认证证书生成过程 搭建CA环境. --假设用户 ...

  8. nginx配置https访问 生成ssl自签名证书,浏览器直接访问

    问题 nginx配置自签名ssl证书,来支持https访问nginx,在浏览器中访问nginx时,提示有风险.而访问其他各大网站时,也是使用了https协议,为什么可以直接访问,而不提示有风险呢? 解 ...

  9. Shell脚本-批量生成100个账号

    需求: 批量生成100个账号,使用随机密码,并且密码保存在文本中. #!/bin/bash #定义保存批量生成账号的文件 USER_FILE=./user.info if ! $USER_FILE ; ...

最新文章

  1. 限制input输入小数只能到3位或者只能输入正整数(兼容ios)
  2. php获取表单后如何保存到数据库中,php – 如何将数据从HTML表单保存到WordPress中的数据库表?...
  3. laravel php resources,利用 Laravel Resources 来整合第三方 API 数据
  4. 异步执性两个线程,两个线程执行完毕后再进行其他操作
  5. 【clickhouse】clickhouse 副本与分片 副本详解
  6. 常见十大排序算法--python3实现
  7. 《信息处理技术员考试考前冲刺预测卷及考点解析》下午案例复习重点
  8. 活动选择问题(贪心)
  9. gre 填空双选题目
  10. 【布局优化】基于人工鱼群算法实现充电桩布局优化matlab源码
  11. pkg_resources.ContextualVersionConflict: (pyasn1 0.1.9 (c:\users\dell\anaconda3\lib\site-packages)
  12. 基于java的商店销售管理系统
  13. 《大数据大创新:阿里巴巴云上数据中台之道》:解密阿里数据中台建设
  14. ICPC Central Europe Regional Contest 2019【山东大学】 部分题解
  15. B2C网关支付方案介绍
  16. 计算机宽带拨号配置,宽带拨号上网怎么设置路由器
  17. Feign的hystrix熔断器不起作用
  18. 超经典的 25 道 MyBatis 面试题!
  19. 卷毛-网络编程基础(一)网络协议
  20. 机械硬盘——电子计算时代的机电遗风

热门文章

  1. android 4.0之前版本号出现JSONException异常
  2. Java Web开发中路径问题小结
  3. 【李开复】从优秀到卓越 (二)
  4. 批评“古风”歌词“狗屁不通”就是不尊重?我们又都成了“垃圾听众”
  5. lib(静态库)和dll(动态库)的生成和使用详细说明以及注意事项
  6. java用集合类求数组交并集_java 并集 数组/集合 有重复元素需 保留(急)
  7. java 类对象可以调用静态方法吗
  8. 交叉编译php-5.6.30,linux下用arm-none-linux-gnueabi交叉编译arm内核模块
  9. mysql5.0修改字符集,查看mysql字符集及修改表结构
  10. postgresql 集群_谁说postgresql 没有靠谱的高可用(2)