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

证书创建方法说明

生成证书 方法一合适临时测试不需要管理快速生成脚本一键完成创建 create_lan_cert.sh#!/bin/bash# 配置参数IP_ADDR192.168.1.100# 修改为你的局域网IPDAYS365CERT_NAMElan-server# 创建配置文件cat${CERT_NAME}.confEOF [req] default_bits 2048 prompt no default_md sha256 x509_extensions v3_req distinguished_name dn [dn] CCN STGuangdong LShenzhen OHomeLab CN${IP_ADDR}[v3_req] keyUsage keyEncipherment, dataEncipherment extendedKeyUsage serverAuth subjectAltName alt_names [alt_names] IP.1 ${IP_ADDR}DNS.1 localhost EOF# 生成自签名证书openssl req-x509-newkeyrsa:2048-nodes\-keyout${CERT_NAME}.key\-out${CERT_NAME}.crt\-days${DAYS}\-config${CERT_NAME}.conf# 清理配置文件可选# rm ${CERT_NAME}.confecho证书生成完成echo私钥:${CERT_NAME}.keyecho证书:${CERT_NAME}.crt生成证书 方法二 合适设备多需管理生成 CA 根证书可选用于信任链# 生成 CA 私钥# 指定将生成的私钥保存到名为 ca.key 的文件中。这个文件是你的“根密钥”后续所有由你签发的证书都将依赖它 -key ca.key因此必须严格保密openssl genrsa-outca.key2048# 生成 CA 证书有效期10年#指定将生成的证书保存到名为 ca.crt 的文件中。这个文件就是“根证书”你需要将它安装到操作系统或浏览器的“受信任的根证书颁发机构”列表中这样由它签发的所有下级证书如你的服务器证书才会被信任openssl req-x509-new-nodes-keyca.key-sha256-days3650-outca.crt生成服务器证书# 服务器的私钥文件# server.key 私钥主要在以下两个关键环节发挥作用# 解密数据# 当客户端如浏览器与服务器建立 HTTPS 连接时会使用服务器证书中的公钥来加密一个“会话密钥”。只有持有对应私钥即 server.key的服务器才能解密出这个会话密钥后续的通信都将使用这个会话密钥进行快速、安全的对称加密。# 数字签名# 在 TLS 握手过程中服务器会使用 server.key 对一部分握手数据进行签名以向客户端证明它确实是该证书的合法持有者从而防止中间人攻击openssl genrsa-outserver.key2048# 创建证书配置文件 (server.conf)catserver.confEOF [req] default_bits 2048 prompt no default_md sha256 distinguished_name dn req_extensions v3_req [dn] CCN STGuangdong LShenzhen OMyCompany OUIT CN192.168.1.100 [v3_req] keyUsage keyEncipherment, dataEncipherment extendedKeyUsage serverAuth subjectAltName alt_names [alt_names] IP.1 192.168.1.100 IP.2 10.0.0.100 DNS.1 my-server.local DNS.2 localhost EOF# 生成证书签名请求 (CSR)# 生成一个包含服务器公钥和身份信息的请求文件server.csr。这个 .csr 文件随后会被提交给证书颁发机构CA由 CA 对其进行签名最终生成可信赖的服务器证书.crtopenssl req-new-keyserver.key-outserver.csr-configserver.conf# 使用 CA 签名生成证书如果有CAopenssl x509-req-inserver.csr-CAca.crt-CAkeyca.key-CAcreateserial\-outserver.crt-days365-sha256-extensionsv3_req-extfileserver.conf# 或生成自签名证书无需CAopenssl req-x509-new-nodes-keyserver.key-sha256-days365\-outserver.crt-configserver.conf-extensionsv3_req生成客户端证书#生成客户端私钥openssl genrsa-outclient.key2048# 创建客户端证书配置 client.confcatclient.confEOF [req] default_bits 2048 prompt no default_md sha256 distinguished_name dn req_extensions v3_req [dn] CCN STGuangdong LShenzhen OMyCompany OUIT CNclient-user-01 emailAddressuser01mycompany.com [v3_req] keyUsage digitalSignature, keyEncipherment extendedKeyUsage clientAuth subjectAltName alt_names # 客户端证书可选通常不需要 [alt_names] email.1 user01mycompany.com EOF# 生成客户端CSRopenssl req-new-keyclient.key-outclient.csr-configclient.conf# 用CA签名生成客户端证书openssl x509-req-inclient.csr\-CAca.crt-CAkeyca.key-CAcreateserial\-outclient.crt\-days365\-sha256\-extensionsv3_req-extfileclient.conf# 生成客户端PKCS#12格式证书用于浏览器导入openssl pkcs12-export\-inclient.crt\-inkeyclient.key\-outclient.p12\-nameMyCompany Client Cert\-passwordpass:changeit# 可选生成无密码的P12不推荐# openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12 -nodes -password pass:客户端证书和服务器端证书的区别关键字段详解1. Common Name (CN) 的区别## 服务器证书CN 必须是访问地址CN192.168.1.100# IP地址CNmyserver.local# 域名CN*.company.com# 通配符域名# 客户端证书CN 是用户/设备标识CNalice.smith# 用户名CNlaptop-abc123# 设备名CNapi-client-prod# 服务账号2. KeyUsage 的区别# 服务器证书用途keyUsagekeyEncipherment, dataEncipherment# 解释# - keyEncipherment: 用于加密会话密钥RSA密钥交换# - dataEncipherment: 直接加密数据较少使用# 客户端证书用途keyUsagedigitalSignature# 解释# - digitalSignature: 用于数字签名客户端身份验证3. ExtendedKeyUsage 的区别# 服务器证书extendedKeyUsageserverAuth# OID: 1.3.6.1.5.5.7.3.1# 含义该证书可用于TLS服务器身份验证# 客户端证书extendedKeyUsageclientAuth# OID: 1.3.6.1.5.5.7.3.2# 含义该证书可用于TLS客户端身份验证# 也可以同时支持多种用途不推荐extendedKeyUsageserverAuth, clientAuth# 既是服务器又是客户端4. Subject Alternative Name (SAN) 的区别# 服务器证书必须包含浏览器强制要求[alt_names]IP.1192.168.1.100# IP地址DNS.1myserver.local# 域名DNS.2localhost# 本地# 客户端证书可选通常不需要[alt_names]email.1usercompany.com# 邮箱DNS.1user-device# 设备标识客户端信任设置Windows cmd# 安装证书到信任根certutil-addstoreRootserver.crt macOSbashsudosecurity add-trusted-cert-d-rtrustRoot-k/Library/Keychains/System.keychain server.crt Linux(Ubuntu/Debian)bashsudocpserver.crt /usr/local/share/ca-certificates/sudoupdate-ca-certificates证书验证# 查看证书信息openssl x509-inserver.crt-text-noout# 验证证书和私钥是否匹配openssl x509-noout-modulus-inserver.crt|openssl md5 openssl rsa-noout-modulus-inserver.key|openssl md5# 测试SSL连接openssl s_client-connect192.168.1.100:443-CAfileca.crt

相关文章:

证书创建方法说明

生成证书 方法一:合适(临时测试,不需要管理) 快速生成脚本(一键完成) 创建 create_lan_cert.sh: #!/bin/bash# 配置参数 IP_ADDR"192.168.1.100" # 修改为你的局域网IP DAYS365…...

阻焊层有多重要?PCB封装的防护屏障

在 PCB 封装的构成要素中,阻焊层(Solder Mask) 是容易被忽视却至关重要的 “防护屏障”,它如同给 PCB 穿上一层 “绝缘防护服”,既保护电路板的导电线路,又规范焊接过程,是保障电路可靠性、稳定…...

丝印层—PCB封装的信息标识系统

如果说焊盘是 PCB 封装的 “硬件骨架”,那么丝印层(Silkscreen) 就是封装的 “信息标识系统”,是 PCB 表面最直观的 “说明书”。​一、丝印层的基础定义与特性丝印层,又称 “文字层”“标识层”,是 PCB 表…...

hadoop3.3.6上搭建Hbase2.5.13集群

一、什么是Hbase hadoop的局限性 hadoop主要是实现批处理的处理,并且通过顺序方式访问数据 要查找数据必须搜索整个数据集,如果要进行随机读写数据,效率低下 Hbase是Bigtable的开源java版本,是建立在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的NoSQL数据…...

终极指南:3分钟快速掌握Logisim-evolution数字电路设计与仿真

终极指南:3分钟快速掌握Logisim-evolution数字电路设计与仿真 【免费下载链接】logisim-evolution Digital logic design tool and simulator 项目地址: https://gitcode.com/gh_mirrors/lo/logisim-evolution 想要学习数字电路设计却不知从何开始&#xff1…...

从PyTorch/Onnx、AIMET量化到 QNN GPU 部署全流程实战:GPU 推理 300FPS+

YOLOv8s 从 AIMET 量化到 QNN GPU 部署全流程实战、GPU 推理 3ms/帧 1. 环境准备 组件 版本/路径 QNN SDK v2.45.0.260326 Android NDK r26d 目标设备 Qualcomm SM8750 目标架构 aarch64-android export QNN_TARGET_ARCH="aarch64-android" export NDK_ROOT=/home/mi…...

windows系统安装gitblit经验分享

1、下载gitblithttp://www.gitblit.com/下载解压后如下图所示:2、安装与配置(1)修改data/defaults.properties#git仓库地址git.repositoriesFolder E:/GitRepo/git# 配置http访问端口server.httpPort 8090# 配置http访问git时的IP地址serve…...

提升效率:用快马ai生成ubuntu一键自动化安装openclaw的脚本

最近在Ubuntu上安装OpenClaw时,发现手动操作既耗时又容易出错。经过一番摸索,我总结出一套自动化方案,用脚本把整个流程优化到了极致。这里分享下具体实现思路和效率提升的关键点。 环境检测与适配 脚本首先会检查Ubuntu版本和架构&#xff0…...

告别繁琐配置:用快马ai一键生成windows版openclaw自动化安装脚本原型

最近在折腾一个开源工具OpenClaw,发现它在Windows下的安装过程真是让人头大——各种依赖检查、环境变量配置,手动操作一不小心就出错。作为一个懒人程序员,我决定用Python写个自动化安装脚本,结果发现用InsCode(快马)平台的AI辅助…...

高效文档下载解决方案:让知识获取不再受阻

高效文档下载解决方案:让知识获取不再受阻 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的烦恼…...

Source Han Serif CN全解析:免费商用字体的7大维度深度指南

Source Han Serif CN全解析:免费商用字体的7大维度深度指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 一、问题:中文字体应用的三大行业困境 如何突破中文…...

利用快马平台快速构建类FinalShell服务器监控Web原型

最近在折腾服务器监控工具,发现FinalShell确实好用,但有时候团队协作或者临时演示时,还是需要一个轻量级的Web版监控面板。正好发现了InsCode(快马)平台,用它快速搭建了一个原型,分享下实现思路。 整体架构设计 这个监…...

AI辅助数据库设计:让快马平台的Kimi模型成为你的课程设计智能顾问

今天在完成数据库课程设计作业时,我尝试用InsCode(快马)平台的AI辅助功能来设计医院门诊预约系统,整个过程比想象中顺利很多。作为一个数据库初学者,这种智能辅助开发的方式确实帮我解决了不少难题,下面记录下具体实现过程和经验。…...

基于多模态图像融合与深度学习算法的轴承故障诊断模型——GADF+Swin-CNN-GAM与GA...

基于 GADFSwin-CNN-GAM 的高创新轴承故障诊断模型 基于GADFTransformer的轴承故障诊断模型,附说明文件及相关论文,代码一定能跑通,有格拉姆角场GADF,小波变换DWT还有短时傅立叶变换STFT多种转二维图像的方式轴承故障诊断这事儿吧&…...

德希科技在线 COD 传感器

一、应用场景与产品定位COD 是评判水体有机污染程度的核心指标,在河流湖泊、饮用水源地、市政管网及污水处理等场景的水质监测中不可或缺。研发人员针对长期在线、环保监测的需求,推出双波长紫外吸收法在线 COD 传感器,设备以无试剂、多参数、…...

3步解锁图表数据:用计算机视觉将图像转化为结构化数据的实战秘籍

3步解锁图表数据:用计算机视觉将图像转化为结构化数据的实战秘籍 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 你是否曾面…...

AGV如何选合适的传感器

一、AGV传感器的三大功能块几乎所有AGV都可以把传感器分成三类:1)导航/定位传感器:用来“知道自己在哪、怎么走” 2)本体/运动传感器:用来“知道自己怎么动的” 3)避障/安全传感器:用来“不撞人…...

公考教父级教学,不同阶段学员都能适配

备考省考面试,选对讲师真的能少走80%的弯路!最近体验了初心教育钟晓红老师的面试课,彻底被这位“公考面试教父”的实力折服。作为公考面试讲师导师,钟老师的课适配不同阶段学员,整体通过率还在行业里断层领先&#xff…...

AI机器视觉+振镜控制:基于OpenCV的无序工件全自动定位打标

引言 工业激光打标场景中,无序工件的定位难题一直制约着自动化产能提升——传统工装定位换型成本高、人工摆料误差大,固定视觉方案无法适配工件360旋转姿态。本文提出一套基于OpenCV机器视觉+振镜联动的全自动定位打标方案,无需专用工装,通过AI视觉实现无序工件亚像素级定位…...

场景深耕,生态共生——视程空间,让边缘算力真正落地千行百业

在AI算力产业飞速发展的今天,“有算力”已不再是核心竞争力,“能落地、能适配、能创造价值”才是破局关键。当前,众多算力企业陷入“重参数、轻场景”的内卷,导致大量算力产品停留在实验室,无法真正适配产业一线需求。…...

OpenCV 实现人脸识别:LBPH/Eigen/Fisher 三大算法实战详解

在人工智能飞速发展的今天,人脸识别已经成为我们生活中无处不在的技术 —— 手机解锁、刷脸支付、门禁考勤、安防监控等场景,都离不开人脸识别技术的支撑。对于 Python 开发者而言,OpenCV 库提供了开箱即用的人脸识别接口,无需深入…...

3步永久解锁加密PDF:ScienceDecrypting终极使用指南

3步永久解锁加密PDF:ScienceDecrypting终极使用指南 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档,支持破解科学文库、标准全文数据库下载的文档。无损破解,保留文字和目录,解除有效期限制。 项目地址: http…...

SEO工具如何提供网站的整体优化建议

SEO工具如何提供网站的整体优化建议 在当今竞争激烈的互联网市场中,网站的整体优化是每一个企业和个人网站的重要任务。SEO工具在这一过程中扮演着不可或缺的角色。SEO工具如何提供网站的整体优化建议呢?本文将从问题分析、原因说明、解决方法、注意事项…...

告别GitHub访问难题:Fast-GitHub让开发效率提升300%

告别GitHub访问难题:Fast-GitHub让开发效率提升300% 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 你是否也曾经历过这…...

3大突破!微信聊天记录数据导出与备份终极指南:从困境到掌控

3大突破!微信聊天记录数据导出与备份终极指南:从困境到掌控 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 微信聊天记录承载着我们生活与工作中的…...

六通道HDMI/网络/文件混用一体录播机

——H.265硬编、16T存储、8方互动、智能导播,每个通道都能“按需切换” 它到底是什么? WHT-6H是一台6通道全高清录播主机,每个通道都可以在三种信号源之间自由切换: HDMI信号(4路物理接口,最高1080P60&am…...

016、CI/CD流水线:用GitHub Actions把部署从玄学变成肌肉记忆

016、CI/CD流水线:用GitHub Actions把部署从玄学变成肌肉记忆 上周深夜,线上服务突然告警。紧急回滚时发现,测试环境通过的镜像在生产环境死活起不来。查了三个小时,最后发现是某位同事在Dockerfile里写死了测试数据库的IP。这种“…...

卡诺图简化逻辑函数详解

你提供的图片是数字逻辑电路教材中关于**卡诺图(Karnaugh Map)**的内容,主要讲解如何用卡诺图表示和化简逻辑函数。下面我为你逐部分解释:📌 一、核心概念:什么是卡诺图?卡诺图是一种图形化工具…...

Ai2Psd终极指南:如何将Illustrator矢量图层完美导出到Photoshop

Ai2Psd终极指南:如何将Illustrator矢量图层完美导出到Photoshop 【免费下载链接】ai-to-psd A script for prepare export of vector objects from Adobe Illustrator to Photoshop 项目地址: https://gitcode.com/gh_mirrors/ai/ai-to-psd 还在为AI到PSD的格…...

AI CRM 2.0时代:SaaS厂商的生死局

今天的SaaS厂商,要么彻底重构底层架构,要么被时代抛弃。原创:首席数智官 封面:AI“未来每一家SaaS公司都会成为AaaS(Agentic as a Service)公司。”这是英伟达创始人、CEO黄仁勋在GTC 2026演讲中给出的判断…...