SSL证书自动申请脚本

news2024/11/16 20:34:39

文章目录

    • 介绍(直接翻译的)
      • 特点
    • 准备
      • 设置Powershell脚本权限
      • 安装Posh-ACME
      • 导入Posh-ACME模块
      • 设置Email
      • 申请DNS操作权限
    • 生成证书
    • 查看证书位置
    • 效果

介绍(直接翻译的)

PowerShell模块和ACME客户端,用于从具有 ACME 功能的证书颁发机构(例如Let’s Encrypt )创建公共信任的 SSL/TLS 证书。

特点

  • 支持多域 (SAN) 和通配符 (*.example.com) 证书
  • IP 地址证书(RFC 8738)(需要 ACME CA 支持)
  • 新证书的一体化命令,New-PACertificate
  • 轻松续订Submit-Renewal
  • 支持账户和证书的 RSA 和 ECDSA 密钥
  • 针对基于DNS 和 HTTP的挑战的内置验证插件。(欢迎提出请求)
  • 支持预先创建的证书请求 (CSR)
  • PEM 和 PFX 输出文件
  • 无需提升 Windows 权限(除非使用-Install交换机)
  • 跨平台 PowerShell 支持。(常见问题解答)
  • 帐户密钥滚动支持
  • OCSP Must-Staple支持
  • DNS 挑战CNAME 支持
  • 每个 ACME CA 支持多个 ACME 帐户
  • 为需要它的 ACME CA 提供外部账户绑定支持(指南)
  • 首选链支持使用替代 CA 信任链(指南)
  • PowerShell SecretManagement支持(指南)
  • 基于草案 04 的ARI(ACME 更新信息)支持。

准备

使用的是Powershell的一个模块,叫Posh-ACME,在使用前,如果电脑没有安装过,需要先安装该模块,该模块可以快速的帮助我们从Let's Encrypt那里申请为期90天的SSL/TLS证书,并且支持通配符。

设置Powershell脚本权限

这个没什么好描述的,就是一般系统默认不允许运行ps脚本代码,这里需要修改一下计算机脚本执行策略

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

安装Posh-ACME

该操作只要执行一遍即可!!!
该操作只要执行一遍即可!!!
该操作只要执行一遍即可!!!

# install for all users (requires elevated privs)
Install-Module -Name Posh-ACME -Scope AllUsers

# install for current user
Install-Module -Name Posh-ACME -Scope CurrentUser

导入Posh-ACME模块

该操作只要执行一遍即可!!!
该操作只要执行一遍即可!!!
该操作只要执行一遍即可!!!

Import-Module Posh-ACME

设置Email

这里设置Email是方便后期,证书快要到期时,向你的邮箱发送过期提醒

# 本人真实email哦,别搞我😐
$email = 'admin@haozekang.com'

申请DNS操作权限

在域名托管商那里申请DNS操作API\Token\AK、SK,我的域名托管在阿里云那边,所以我使用的是账户的AK和SK。
具体支持哪些运营商,可以在DNS Plugins里查询,下面我将使用阿里云作为示范,使用example.com作为样例,各位宝宝🥰在使用的时候,记得替换。

给的模板脚本如下:

# 这里会让你手动输入SK,麻烦,我给改成String转SecureString
$secret = Read-Host "Secret" -AsSecureString
$pArgs = @{
    AliKeyId = 'asdf1234'
    AliSecret = $secret
}

我的:

# 这里是随便填写的,请替换成自己的
# 设置sk,并转换为SecureString类型
$secret = ConvertTo-SecureString "asdf1234asdf1234asdf1234111111" -AsPlainText -Force

# 这里是随便填写的,请替换成自己的
# 设置参数,后面要让Posh-ACME自动化操作你的DNS解析,帮你做TXT记录值验证工作
$pArgs = @{
    AliKeyId = 'asdf1234asdf1234asdf1234'
    AliSecret = $secret
}

在这里插入图片描述

生成证书

进入正题,一下命令就是开始申请证书的一些操作了!~

New-PACertificate '*.example.com','example.com' -AcceptTOS -Plugin Aliyun -PluginArgs $pArgs -Contact $email

输入上面命令后,默认会再操作好DNS后,睡眠120秒,等待安全厂商做TXT记录校验,执行完成后,会有如下界面
在这里插入图片描述

获取证书校验状态信息,这里的status就是状态的意思,如果这里不是valid,就代表没有校验通过!

Get-PAOrder '*.example.com'

在这里插入图片描述

完成证书订单

  • 完成特定订单
Get-PAOrder '*.example.com' | Complete-PAOrder
  • 完成当前订单
# 
Complete-PAOrder

查看证书位置

Get-PACertificate | Format-List

在这里插入图片描述

每个文件对应的解释如下:

  • cert.cer (Base64 encoded PEM certificate)

PS:基于PEM格式,Base64编码的证书文件,转pem直接修改文件后缀

  • cert.key (Base64 encoded PEM private key)

PS:基于PEM格式,Base64编码的证书密钥文件,转pem直接修改文件后缀

  • cert.pfx (PKCS12 container with cert+key)

PS:基于PKCS12格式,加密的证书文件,包含了证书+密钥

  • chain.cer (Base64 encoded PEM with the issuing CA chain)

PS:基于PEM格式,Base64编码的证书链文件,转pem直接修改文件后缀

  • chainX.cer (Base64 encoded PEM with alternate issuing CA - chains)

PS:懒得翻译,我也用不到

  • fullchain.cer (Base64 encoded PEM with cert+chain)

PS:基于PEM格式,Base64编码的文件,转pem直接修改文件后缀,包含了证书+证书链

  • fullchain.pfx (PKCS12 container with cert+key+chain)

PS:基于PKCS12格式,加密的证书文件,包含了证书+密钥+证书链

我们一般使用nginx作为HTTP服务器的话,只需要关注前两个cert.cercert.key即可,cer文件改后缀为pem,我一般会把两个文件改一下命名在上传到nginx使用。

使用方法我就不提供了,百度浪浪一层,我就不废话了!

效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2171172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于大数据可视化的图书推荐及数据分析系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

腾讯一面-LRU缓存

为了设计一个满足LRU(最近最少使用)缓存约束的数据结构,我们可以使用哈希表(HashMap)来存储键值对,以便在O(1)时间复杂度内访问任意键。同时,我们还需要一个双向链表(Doubly Linked …

Mac下可以平替paste的软件pastemate,在windows上也能用,还可以实现数据多端同步

Mac平台上非常经典的剪贴板管理工具:「Paste」。作为一款功能完善且易用的工具,「Paste」在实际使用中体现出了许多令人欣赏的特点。但是它是一个收费软件,一年至少要24美元. 现有一平替软件pastemate,功能更加丰富,使用更加方便。 下载地址…

【JAVA报错已解决】 Java.lang.ArrayIndexOutOfBoundsException

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 专栏介绍 在软件开发和日常使用中,BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

基于vue框架的传统文化传播网站设计与实现f7r43(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,文化类型,传统文化 开题报告内容 基于Vue框架的传统文化传播网站设计与实现开题报告 一、研究背景 在全球化加速的今天,各国文化相互交融,但也面临着传统文化被边缘化的风险。中国拥有五千年文明史&#…

深夜实验室惊现!AI独立撰写未来论文初稿!

在都市的深夜,当大部分人已进入睡眠之际,某个角落仍旧灯火明亮、活力四射——那是我们的人工智能研究所。此处,自动化机器人和精密算法正在进行激烈的竞赛,致力于撰写可能引领未来变革的前沿科研论文。 科研论文的核心在于其创新…

【数据结构】堆(Heap)详解

在深入了解堆这一重要的数据结构之前,不妨先回顾一下我之前的作品 ——“二叉树详解”。 上篇文章👉剖析二叉树(Binary Tree) 二叉树作为一种基础的数据结构,为我们理解堆以及其他更复杂的数据结构奠定了坚实的基础。它…

Python 从入门到实战30(高级文件的操作)

我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。 上篇文章我们讨论了操作目录的相关知识。今天我们将学习一下高级文…

distinct导致sql超时

前言 昨天敲着敲着代码,小杨哥跑过来给我说,快看他们大会议室演示报错了,还是一堆错了。完了啊在演示的时候报错!!!接下来我们分析一下是什么原因吧。 问题分析 查看日志: 从日志打印看明显的…

[大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器

[大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器 目录 文章目录 [大语言模型-论文精读] 大语言模型是单样本URL分类器和解释器目录1. 论文信息2. 摘要3. 引言4. 相关工作A. 网络钓鱼URL检测B. 使用LLMs进行单样本分类 C. LLMs作为分类器的可解释性 5. 论文所提框架…

自媒体人打造视频号爆款短视频其实很简单

最近找我做自媒体起号辅导的非常多,当然今天的方法也很适合我们的自媒体短视频运营。 美国心理学家米勒(Miller)被誉为认知心理学奠基人之一,有关短时记忆容量的研究表明:人的短时记忆保持时间在无复述的情况下只有5~20秒,最长也…

Linux命令:用于处理 XML 文档的强大的命令行工具xmlstarlet 详解

目录 一、概述 二、功能特点 1、查询和过滤 2、修改和更新 3、批处理操作 4、跨平台支持 5、转换和格式化 6、验证和校验 三、 安装 xmlstarlet 四、 基本用法 1、xmlstarlet 的基本语法 2、获取帮助 五、 常用命令 1. ed(编辑) - 用于编辑…

大型模型智能体:最先进的合作范式、安全与隐私以及未来趋势

摘要—大型模型智能体(LM agents),由如 GPT-4 和 DALL-E 2 等大型基础模型驱动,代表了实现人工通用智能(AGI)的重要一步。LM 智能体展示了自主性、具身性和连接性等关键特征,使其能够在物理、虚…

java在开发中的总结

1.异步执行数据遍历 public static void main(String[] args) {List<Integer> numbers Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);numbers.parallelStream().forEach(i->{System.out.println(i);});}在工作中&#xff0c;我们可以对for循环进行改进&#xff0c;…

C++11:现代C++的演变与提升

目录 前言 一、统一的列表初始化 1、{}初始化 2、std::initializer_list 二、新的声明 1、auto 2、decltype 3、nullptr 三、范围for循环 四、右值引用与移动语义 1. 左值 vs 右值 2、移动构造与移动赋值 3、 move转换 4、完美转发&#xff1a;forward 五、lamb…

调和级数枚举+前缀和,CF 731F - Video Cards

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 731F - Video Cards 二、解题报告 1、思路分析 题目提示的很明显要用调和…

复杂类型 el-form 表单的校验

背景描述 表单结构 form 表单结构 活动名称 - 必填&#xff0c;prop“name”活动类型 - 必填&#xff0c;prop“actType”活动人数 - 必填&#xff0c;prop“actUserAccount”签到记录 - 必填&#xff0c;prop“actList” 对表单做必填校验 rulesOld: {name: [{ required: t…

【15%】100小时机器学习——什么是机器学习

前言 虽然已经好久没有更新了&#xff0c;但笔者最近一直都在努力学习哦。 前面三三两两根据GitHub上的项目写了一些实验操作&#xff0c;但是总觉得这样是不行的。碎片化的学习只能是建立在已知的基础上进行熟练&#xff0c;不能作为打基础的主力方法&#xff0c;最关键的是&a…

物联网系统中声音拾取音频方案_咪头

01 物联网系统中为什么要使用咪头 物联网系统中使用咪头&#xff08;麦克风或传声器&#xff09;的原因主要可以归结为以下几个方面&#xff1a; 声音信号的拾取与转换 基本功能&#xff1a;咪头是一种将声音转换为电信号的装置。在物联网系统中&#xff0c;咪头负责捕捉周围…

一键降重:芝士AI如何简化论文查重过程?

大家写论文时“旁征博引”是常规操作&#xff0c;所以重复率就成了投稿前的“噩梦”。自己降重&#xff0c;发现怎么改写都无法下降重复率&#xff0c;可能一天改下来下降3%&#xff0c;让人抓狂。 但今天开始&#xff0c;你不用再苦恼啦&#xff0c;更不用自己抓耳挠腮一整天…