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

永康做网站免费邮箱163登录入口

永康做网站,免费邮箱163登录入口,网上商城系统的设计与实现,网站开发项目私活Certificate证书 Certificate称为数字证书。数字证书是一种证明身份的电子凭证#xff0c;它包含一个公钥和一些身份信息#xff0c;用于验证数字签名和加密通信。数字证书在网络通信、电子签名、认证授权等场景中都有广泛应用。其特征如下#xff1a; 由权威机构颁发它包含一个公钥和一些身份信息用于验证数字签名和加密通信。数字证书在网络通信、电子签名、认证授权等场景中都有广泛应用。其特征如下 由权威机构颁发人们可以在互联网上用来识别对方的身份。证书遵循国际标准 ITUTX.509主要包括下面的内容 版本信息序列号每个证书都有唯一的序列号使用的签名算法签发机构命名规则一般采用 X.500格式有效期证书所有人的名称证书所有人的公钥 public key证书发行者的签名 证书等级 Root Cartificate根证书 根证书签名(Root CAs signature)是用根私钥(Root CAs private key)签的。所以验证根证书签名(Root CAs signature)要用根公钥(Root CAs public key)才能验证通过。这种情况称为自签名(self-sign)。 Intermediate Cartificate中间证书 中介证书是被根证书签名的证书是被根证书的私钥进行签名的因此要验证中介证书也需要使用根公钥。 End-entity Certificate终端实体证书 终端实体证书是有中介证书签发的使用中介证书对终端实体进行认证的目的是为了减少根证书签名的负担相当于使用一个中介来代替根实行认证的权利。 证书链 在RFC5280中证书链或信任链被定义为“证书路径”。换句话说信任链是指您的SSL证书以及它如何链接回受信任的证书颁发机构。为了使SSL证书可信它必须可以追溯到它被签署的信任根这意味着链中的所有证书——终端实体证书、中间证书和根证书都需要得到适当的信任。信任链分为三个部分 Windows证书管理 通过WinR运行mmc确定文件-添加/删除管理单元进行配置证书管理。 证书工具 证书的管理工具有很多下面列举几种常用的工具 PowerShell CLINew-SelfSignedCertificateCMD CLICertutilX Certificate and Key managementCMD CLIOpenSSLJDK CTLkeytool New-SelfSignedCertificate 在Windows中通过PowerShell CLINew-SelfSignedCertificate进行创建自定义签名证书。说实话笔者翻烂了官方文档对该工具使用介绍挺粗糙的一堆的坑准备好踩吧。 1、创建X509证书链 # PowerShell环境以管理员身份运行# 默认存储位置:cert:LocalMachine\My【本地计算机\个人】 #准备条件 $pfxPassword ConvertTo-SecureString -String [pfx加密] -Force -AsPlainText $pfxFilePath [pfx文件路径] $cerFilePath [cer文件路径]# 语法结构 New-SelfSignedCertificate -Subject [颁发给] -DnsName [使用者可选名称(Web域名)] -NotAfter (Get-Date).AddYears(20) -CertStoreLocation cert:LocalMachine\My -FriendlyName [友好名称] -HashAlgorithm SHA256 -KeyUsageProperty All -KeyUsage CertSign, CRLSign, DigitalSignature -TextExtension (2.5.29.19{text}CA1pathlength1)# 可缺省-Subject参数时生成证书时默认取DnsName信息为[颁发给]者。 # 可缺省 -KeyAlgorithm和-KeyLength参数时默认为RSA 2048。 # 可缺省 -NotBefore参数时默认为从系统当前时间起始。 # 可缺省 -NotAfter参数时生成证书时默认有效期为1年。 # 可缺省-FriendlyName参数时生成证书时[友好名称]为空。 # 可缺省 -HashAlgorithm参数时默认值SHA256。 # 可缺省 -KeyUsageProperty参数指定私钥的键用法属性的键用法。默认值None。(使用底层KSP的默认值)# 必须 -KeyUsage参数[密钥用法]指定在证书的密钥使用扩展名中设置的密钥用法。可接受的参数项 # CertSign证书签名 # CRLSignCRL签名 # DataEncipherment数据加密 # DecipherOnly # DigitalSignature数字签名 # EncipherOnly # KeyAgreement # KeyEncipherment钥匙加密 # None缺省时无 # NonRepudiation# 必须 -TextExtension参数[目的用途]指定证书扩展数组为字符串每个字符串必须采用OID对象标识符。 # 所有颁发的策略 (2.5.29.32.0) # 客户端身份验证 (1.3.6.1.5.5.7.3.2) # 服务器身份验证 (1.3.6.1.5.5.7.3.1) # BitLocker驱动器加密 (1.3.6.1.4.1.311.67.1.1) # 加密文档系统 (1.3.6.1.4.1.311.10.3.4) # 文档签名 (1.3.6.1.4.1.311.10.3.12) # 安全电子邮件 (1.3.6.1.5.5.7.3.4) # 语法: TextExtension (2.5.29.37{text}{oid},{oid}) # Example: TextExtension (2.5.29.37{text}1.3.6.1.5.5.7.3.1) (1) Root根证书 根证书完全不需要-Subject [颁发给]和-DnsName [使用者可选名称(Web域名)]只需要起个友好名称做为颁发者示例如下 # Root certificate generationNew-SelfSignedCertificate -Subject Kingser RSA Root Certificate Authority 2022 -NotAfter (Get-Date).AddYears(30) -CertStoreLocation cert:LocalMachine\My -FriendlyName Kingser RSA Root Certificate Authority 2022 -KeyUsageProperty All -KeyUsage CertSign, CRLSign, DigitalSignature -TextExtension (2.5.29.19{text}CA1pathlength1)# Gets certificate generation the path $certificatePath ( Get-ChildItem -Path cert:\LocalMachine\My\[指纹码] )# create temporary certificate path $tmpPath E:\Certificate If(!(test-path $tmpPath)) { New-Item -ItemType Directory -Force -Path $tmpPath }# set certificate password here $pfxPassword ConvertTo-SecureString -String [pfx加密] -Force -AsPlainText $pfxFilePath E:\Certificate\rootCert.pfx $cerFilePath E:\Certificate\rootCert.cer具体实操如下  这里有几个坑需要特别说明一下 a. # Root certificate generation部分 由于证书生成时一般默认会指定存放在cert:LocalMachine\My或cert:CurrentUser\My处。 当执行成功时系统自动会产生证书的Thumbprint指纹码(如上图)。同时系统在My和CA两处都会产生该证书也就是个人证书和中间证书两处入口。不过经检查发现它指向的仍是同一证书(指纹码相同)但唯独Root根证书不会产生这是什么原因呢 经笔者反复测试后在My和CA两处入口时它的下级证书创建时才能成功不然会提示找不到父级证书导致失败 换句话说-Signer参数似乎只能参照My或CA处的证书Root受信任区的不能直接拿来生成证书链的子证书。此处微软文档翻烂了笔者都没找到相关资料巨坑。 b. # Gets certificate generation the path部分 $rootCertPath通过Get-ChildItem -Path cert:\LocalMachine\XX的证书对象当我把证书注册到Root信任区就无法调用不可用。 那它为啥会在My和CA两处入口都引用该证书呢其实笔者也没敢说整明白了。只能从经验上判断当生成证书为子证书时系统逻辑有可能优先判断该证书是哪个入口开始检索。比如中间证书所参照父级证书位置当优先从C入口开始检查是否有没有的话再检索My入口处。不一定正确仅供参考。 c. # create temporary certificate path部分 导出时可设定一个临时存储证书路径可选。当配置了该存放路径时导出文件变量可以这样 $pfxFilePath $tmpPath \rootCert.pfx $cerFilePath $tmpPath \rootCert.cer (2) CA中间证书 中间证书的生成关键性参数是-Signer参照父级证书可以设定DnsName域名 # Gets certificate generation the path $parentCertPath ( Get-ChildItem -Path cert:\LocalMachine\My\[指纹码])# Intermediate certificate generation New-SelfSignedCertificate -Subject [颁发给] -DnsName [域名] -Signer $parentCertPath -NotAfter (Get-Date).AddYears(20) -CertStoreLocation cert:LocalMachine\My -FriendlyName [友好名称] -KeyUsageProperty All -KeyUsage CertSign, CRLSign, DigitalSignature -TextExtension (2.5.29.19{text}CA1pathlength1)# set certificate password here $intermediateCer ( Get-ChildItem -Path cert:\LocalMachine\My\[指纹码]) $pfxFilePath E:\Certificate\intermediateCert.pfx $cerFilePath E:\Certificate\intermediateCert.cer# Export PfxCertificate the file $intermediateCer | Export-PfxCertificate -FilePath $pfxFilePath -Password $pfxPassword # Export Certificate the file $intermediateCer | Export-Certificate -FilePath $cerFilePath 当然需要注意-NotAfter参数到期时间肯定是小于根证书年限的。 具体实操如下  (3) My终端实体证书 终端证书的生成同样关键性参数是-Signer参照父级证书设定DnsName域名基本和中间证书相似。唯一不同的则是-TextExtension参数[目的用途]。比如双向验证时客户端证书则是提交服务器身份验证服务端提交客户端身份验证则称之为双向。单向验证仅需要客户端提交服务器身份验证就可以。 它还可以用文件存储系统加密验证驱动程序签名验证以及文档签名验证等。 # Gets certificate generation the path $intermediateCer ( Get-ChildItem -Path cert:\LocalMachine\My\[指纹码])# End-Entity certificate generation New-SelfSignedCertificate -Subject [颁发给] -DnsName [二级域名] -Signer $intermediateCer -NotAfter (Get-Date).AddYears(3) -CertStoreLocation cert:LocalMachine\My -FriendlyName [友好名称] -KeyUsageProperty All -KeyUsage DigitalSignature, KeyEncipherment, DataEncipherment -TextExtension (2.5.29.37{text}1.3.6.1.5.5.7.3.1)# set certificate password here $clientCer ( Get-ChildItem -Path cert:\LocalMachine\My\[指纹码]) $pfxFilePath E:\Certificate\clientCert.pfx $cerFilePath E:\Certificate\clientCert.cer# Export PfxCertificate the file $clientCer | Export-PfxCertificate -FilePath $pfxFilePath -Password $pfxPassword # Export Certificate the file $clientCer | Export-Certificate -FilePath $cerFilePath 具体实操如下  此处仍可再单独配置[客户端身份验证]证书以备服务器部署验证来源客户端身份。在此就不展开详述感兴趣的朋友可自行适应创建。 2、证书部署及管理 #准备条件 $cerFilePath E:\Certificate\rootCert.cer# 导入Root根证书 Import-Certificate -FilePath $cerFilePath -CertStoreLocation Cert:\LocalMachine\Root # Cert:\LocalMachine\Root是本地计算机根 # Cert:\CurrentUser\Root是当前用户根# 检查并移除重复引用的证书 # 检查cert:\LocalMachine\My的重复的Root和CA证书并移除# 先检查出要移除的证书指纹码然后通过Remove-Item进行移除。Remove-Item 参数-DeleteKey为连同私钥一并移除(慎用) Get-ChildItem -Path cert:\LocalMachine\My Remove-Item -Path cert:\LocalMachine\My\[指纹码]# 可以通过检索DnsName值进行移除 Get-ChildItem -Path cert:\LocalMachine\My -DnsName *xxx* | Remove-Item 3、Certutil CLI工具 Certutil 是 Windows 操作系统上预装的工具可用于 校验文件MD5、SHA1、SHA256下载恶意文件和免杀。它是一个 CLI 程序可用于转储和显示证书颁发机构CA配置信息证书服务 CA 组件的备份和还原以及验证证书、密钥对和证书链它作为证书服务的一部分安装。 实际上Certutil用途非常广泛它即可以作为渗透测试工具也可以作为Windows证书管理的运维工具。 Certutil的主要功能包括查看证书、导出证书、导入证书、验证证书链、生成密钥对等。它通常被系统管理员和安全专家用于管理和维护证书、密钥和证书颁发机构CA相关的任务。 Certutil命令的设计旨在提供一种灵活而强大的方式来处理数字证书和密钥以确保系统的安全性和可信度。 可在命令提示符下输入certutil /?来查看完整的命令参数列表和使用说明。 具体详解请见微软官方文档。 # 检查证书存储列出本地计算机或用户的证书存储中的证书 certutil -v -store my certutil -v -store -user my# 从文件查看证书详细内容 certUtil -v -dump rootCert.cer Certificate and Key management XCA是一个用于管理非对称密钥(如RSA或DSA)的接口。它被用作创建和签署证书的小型CA。它使用OpenSSL库进行加密操作。 开源地址GitHub - chris2511/xca: X Certificate and Key management官方安装包Download 注意它可以直接通过Microsoft Store微软商店进行安装也可以手动下载MSI包来使用。 最新版本为xca-2.6.0-win64.msi。 1、新建数据库 新使用该工具时需要新建一个xdb(XCA Database)数据库用来存储证书信息需要设置一个数据库密码。 2、X509证书构造 序号属性名属性学名 Windows 表示 XCA 表示 描述说明1Id序列号--2country Name国家代码--3stateOrProvince Name州或省名--4locality Name地方名--5organization Name组织名--6organizationUnit Name单位名--7common Name通用名(*) 颁发者 使用者 内部名称8email Address邮件地址--9-签名状态UnusedBits10-私钥(*)HashAlgorithmRSA 204811- 有效期 从...到 NotBefore NotAfter 12-指纹Thumbprint [待续] 参考文档 在PowerShell中创建证书如何创建开发期间使用的临时证书关于证书提供程序Certificate 提供程序网络安全 / SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12 作用及区别
http://www.w-s-a.com/news/416276/

相关文章:

  • 做哪种网站赚钱苏州住房城乡建设部网站
  • 镇江做网站学编程学哪一种比较好
  • 华美天一建筑公司网站赚钱做任务的网站有哪些
  • asp网站打开速度慢家乡网页设计教程
  • 网站 设计 深圳书店网站的建设
  • 北京网络营销推广培训哪家好南宁软件优化网站建设
  • flash网站引导页仓库管理系统源码
  • 济南网站制作公司排名营销型网站管理系统
  • 公司网站设计要多少钱用什么做网站的访问量统计
  • 湖北省住房和城乡建设厅门户网站沈阳网络平台推广公司
  • 河南平台网站建设公司网站如何提高转化率
  • 网站及推广wordpress 分享主题
  • 房产网站有哪些如何自己建一个微网站
  • 青岛市黄岛区城市建设局网站手机域名访问网站怎么进入
  • 网站模板 双语河南省建设人才信息网官网
  • 网站建设备案优化之看邹城网站开发
  • 网站方案书图书馆网站建设公司
  • 公司取名网免费版在线网站优化公司
  • dw怎么做秋季运动会网站九江集团网站建设
  • 响应式网站建设服务商wordpress 非小工具形式 微博秀
  • 网站安全检测漏洞扫描风险等级分布建设一个网站步骤
  • 摄影网站的意义开发企业小程序公司
  • 龙岩网站设计招聘信息网上免费logo设计
  • 高端定制网站开发建站教程详解网站共享备案可以申请支付接口
  • 做房产网站接不到电话企业推广宣传方式
  • 网站建设费用不用摊销下一页p30
  • 北京 工业网站建设公司国外服务器公司有哪些
  • 怎样局域网站建设盈利网站
  • 公司做网站广告语济南建网站价格消费品展
  • 建德网站网站建设规划设计书