Windows 证书的英文全称是 "Microsoft Windows Certificate",通常简称为 Windows Certificates

Windows 证书的英文全称是 "Microsoft Windows Certificate",通常简称为 Windows Certificates。

Windows Certificates的起源可以追溯到公钥基础设施(Public Key Infrastructure,PKI)的概念和技术。PKI是一种提供安全通信和身份验证的框架,它使用了公钥密码学和数字证书来确保数据的机密性、完整性和身份真实性。

微软公司在其 Windows 操作系统中集成了 PKI 技术,并通过引入 Windows Certificates 来实现证书管理和使用的功能。这使得 Windows 操作系统能够充分利用公钥密码学和数字证书,提供更安全的通信和身份验证机制。

Windows Certificates的开发和起源可以追溯到 Windows NT 4.0 操作系统引入的安全功能,随后在后续版本的 Windows 操作系统中得到进一步改进和增强。微软公司积极推动了 PKI 技术的应用和普及,使得 Windows Certificates 成为企业和个人在 Windows 环境中常用的安全工具之一。


Windows Certificates的发展经历了以下几个阶段:

  1. Windows NT 4.0:在 Windows NT 4.0 中,微软公司引入了安全服务提供程序接口(Security Support Provider Interface,SSPI)和 Windows NT Directory Service(现在称为 Active Directory),这些功能使 Windows Certificates 的基础设施得以建立。

  2. Windows 2000:在 Windows 2000 中,微软公司进一步增强了 PKI 技术的支持,包括证书管理、数字签名和加密等方面的改进。此外,还引入了针对企业级应用的证书模板和证书颁发机构(Certificate Authority,CA)等新功能。

  3. Windows XP/2003:在 Windows XP 和 Windows Server 2003 中,微软公司加强了对自签名证书的支持,并提供了更多的用户界面选项和命令行工具来方便证书管理和使用。

  4. Windows Vista/2008:在 Windows Vista 和 Windows Server 2008 中,微软公司引入了 User Account Control(UAC)功能,该功能增强了 Windows Certificates 对系统安全性的贡献,并提供了更多的加密算法和证书颁发机构选项。

  5. Windows 7/2008 R2:在 Windows 7 和 Windows Server 2008 R2 中,微软公司进一步简化了证书管理和使用,包括增强了证书导入和导出功能、提供了更多的证书模板和颁发机构选项等。

  6. Windows 8/2012:在 Windows 8 和 Windows Server 2012 中,微软公司引入了新的加密算法和证书模板,以及增强了对非 Microsoft CA 的支持,使得 Windows Certificates 更具灵活性和可扩展性。

  7. Windows 8.1/2012 R2:在 Windows 8.1 和 Windows Server 2012 R2 中,微软进一步改进了证书管理工具,并增强了对新的加密标准和协议的支持,如SHA-2算法和TLS 1.2协议。

  8. Windows 10/2016:随着 Windows 10 和 Windows Server 2016 的推出,微软公司在证书管理和安全领域进行了进一步的创新。引入了 Windows Hello 生物识别认证技术,提供更安全、方便的登录方式。此外,微软还加强了对虚拟化环境和云计算平台的证书支持,以适应新兴的 IT 环境需求。

  9. Windows 11/2022:随着 Windows 11 和 Windows Server 2022 的发布,微软继续优化了证书管理工具和安全功能。加强了对硬件安全模块(TPM)的支持,提供更安全可靠的证书存储和管理方式。同时,还加强了对远程工作和云计算环境下证书的管理和保护。


Windows Certificates 的出现解决了以下重大问题

  1. 身份验证和访问控制:Windows Certificates 提供了一种安全的身份验证机制,通过使用数字证书和公钥密码学,可以确保用户的身份真实性。它可以用于认证用户、计算机和服务,并控制其对系统资源的访问权限,从而有效防止未经授权的访问和数据泄露。

  2. 数据保护和加密:Windows Certificates 可以用于数据的加密和解密,保护敏感信息的机密性。通过使用证书,可以确保数据在传输和存储过程中不会被篡改或窃取。这对于保护个人隐私、商业机密和敏感数据至关重要。

  3. 安全通信:Windows Certificates 使得安全通信成为可能。通过使用数字证书,可以建立安全的通信通道,保护数据在传输过程中的机密性和完整性。这对于在线交易、电子邮件通信和远程访问等场景非常重要。

  4. 防止伪造和欺骗:Windows Certificates 提供了一种防止伪造和欺骗的机制。数字证书包含了证书持有者的公钥和其他身份信息,通过验证证书的签名,可以确保证书的真实性和完整性。这样可以有效防止中间人攻击和欺骗行为。

  5. 企业安全管理:Windows Certificates 提供了企业级的证书管理功能,包括证书颁发机构(CA)、证书模板和证书撤销列表(CRL)等。这使得企业能够统一管理和分发证书,并对其进行有效的监控和更新,确保企业内部系统的安全性和合规性。

  6. 电子商务和数字签名:Windows Certificates 的出现也为电子商务和数字签名提供了重要支持。通过使用数字证书,可以确保在线交易的安全性和可靠性,防止身份盗窃和支付欺诈等问题。同时,数字签名可以用于验证文档和数据的真实性和完整性,具有法律效力,为电子合同和文件认证提供了便利。

  7. 远程访问和移动办公:随着远程办公和移动办公方式的普及,Windows Certificates 的出现也解决了远程访问和移动设备安全的问题。通过使用证书进行身份验证和加密通信,可以保障远程用户和移动设备的安全性,防止信息泄震、数据丢失和网络攻击。

  8. 软件和代码签名:Windows Certificates 还广泛应用于软件和代码签名领域。软件开发者可以使用数字证书对其软件进行签名,以确保软件的完整性和来源可信度。用户在安装软件时,系统会验证软件的数字签名,防止恶意软件和篡改行为,保护系统安全。

  9. 云计算和服务安全:随着云计算和服务化的发展,Windows Certificates 在云环境中也起着关键作用。通过使用证书进行身份验证和加密通信,可以确保云服务之间和用户与云服务之间的安全通信,维护数据在云端的保密性和完整性,提升整体系统的安全性。

  10. 防止篡改和数据完整性:Windows Certificates 也可以用于验证数据的完整性,防止数据在传输或存储过程中被篡改。通过使用数字签名和证书链,接收方可以验证数据的来源和完整性,确保数据的可信度。

  11. 移动设备安全:随着移动设备的普及,Windows Certificates 提供了一种安全机制,确保移动设备和应用程序的安全性。通过使用证书,可以对移动设备进行身份验证,并保护敏感数据的安全,防止设备被未经授权的访问和攻击。

  12. 密码重置和身份恢复:Windows Certificates 还用于密码重置和身份恢复的过程中。通过使用证书来验证用户的身份和授权访问权限,可以确保密码重置和身份恢复的过程安全可靠,防止未经授权的访问和身份盗窃。

  13. 安全更新和软件分发:Windows Certificates 也用于安全更新和软件分发的过程中。通过使用数字签名和证书验证,用户可以确保所下载的软件和更新来自可信的来源,并且在传输和安装过程中没有被篡改或感染恶意代码。

  14. 加密存储和文件保护:Windows Certificates 提供了一种安全的方式来加密存储和保护文件。通过使用证书和公钥密码学,用户可以对存储在本地或云端的文件进行加密,确保只有授权的用户能够访问和解密这些文件。

  15. 身份验证和访问控制:Windows Certificates 也被广泛应用于身份验证和访问控制的场景中。通过使用数字证书进行身份验证,系统可以确保只有经过授权的用户能够访问特定的资源和服务,从而加强了系统的安全性和可控性。

  16. 虚拟专用网络(VPN):在企业和个人使用的VPN环境中,Windows Certificates 提供了一种安全的方式来建立加密通道,确保数据在公共网络上的安全传输。通过使用证书进行身份验证和加密通信,用户可以享受到更加安全的远程访问体验。

  17. 电子邮件加密和签名:Windows Certificates 也可以用于电子邮件的加密和签名,确保邮件内容的保密性和完整性。发送方可以使用数字证书对邮件进行加密和签名,接收方可以通过验证证书来确认邮件的来源和完整性。

  18. 智能卡和安全USB设备:许多智能卡和安全USB设备也依赖于 Windows Certificates 技术,用于存储和管理用户的身份信息和数字证书,以提供更安全的身份认证和数据存储功能。


Windows Certificates 作为一种安全技术,通常不会直接造成危害,而是用于保障系统和数据的安全。然而,在特定情况下,如果 Windows Certificates 受到攻击或者配置不当,可能会产生一些负面影响,比如:

  1. 证书颁发机构受到攻击:如果根证书颁发机构(CA)受到攻击或者出现安全漏洞,可能导致恶意颁发的数字证书被信任,从而使得攻击者能够伪装成合法用户或者网站进行欺骗、篡改等恶意行为。

  2. 证书私钥泄露:如果证书的私钥泄露,攻击者可能使用泄露的私钥来伪装成证书所有者,进行身份盗窃或者数字签名伪造,从而破坏数据完整性和用户身份认证。

  3. 证书吊销列表延迟更新:如果证书吊销列表(CRL)或在线证书状态协议(OCSP)服务器由于各种原因未能及时更新,可能导致已经被吊销的证书仍然被信任,从而增加了系统遭受恶意攻击的风险。

  4. 证书过期或无效:如果证书未能及时更新或者变得无效,可能导致用户无法正常访问受保护资源,造成业务中断或者用户体验下降。

  5. 复杂的证书管理:在大规模部署下,证书的管理和维护可能会变得复杂,包括证书的发布、吊销、更新等操作,需要投入更多的人力和资源进行管理。

  6. 单点故障:在某些情况下,如果系统中的证书验证功能依赖于特定的证书颁发机构或服务器,那么当这些机构或服务器出现故障或不可用时,系统可能会受到影响,并且用户可能无法正常访问所需的资源。

  7. 性能影响:在进行证书验证和加密通信时,会增加系统的计算和网络负载,因此可能对系统性能产生一定的影响。尤其是在大规模部署下,证书验证和加密操作可能需要更多的计算资源,需要进行性能优化和资源规划。

  8. 复杂性和学习成本:配置和管理 Windows Certificates 可能需要一定的技术知识和专业技能。如果没有足够经验的管理员进行管理,可能会导致配置错误、证书过期等问题,进而影响系统的安全性和可用性。

  9. 用户体验:在一些情况下,证书验证可能会对用户的使用体验造成一些不便。例如,如果证书验证的过程繁琐或需要频繁地进行用户交互,可能会降低用户的满意度。

  10. 依赖第三方:在使用 Windows Certificates 时,系统可能会依赖于第三方的证书颁发机构和服务提供商。因此,如果这些机构或提供商出现问题,如破产、关闭或不再受信任,可能会对系统的可用性和安全性产生影响。

  11. 中间人攻击:中间人攻击是指攻击者在通信过程中窃取证书或私钥,并使用该证书或私钥进行欺骗。这种攻击可能会导致数据泄露、篡改或者身份盗用等问题。为了防止中间人攻击,需要采取一些措施,如使用双因素身份认证、加密通信等。

  12. 恶意软件利用证书漏洞:在某些情况下,恶意软件可能利用证书漏洞进行攻击,例如伪造数字证书、滥用证书授权等。为了防止这种情况发生,需要及时更新证书吊销列表、使用可信的证书颁发机构、限制受信任的证书等。

  13. 社会工程学攻击:社会工程学攻击是指攻击者通过欺骗、诱骗、伪装等手段获取证书或私钥。为了防止这种攻击,需要进行员工教育、加强对证书的保护和管理、限制对证书私钥的访问等。

  14. 不安全的证书存储:如果证书存储不安全,攻击者可能能够获取证书或私钥。为了防止这种情况发生,需要采取一些措施,如加密证书存储、限制对证书存储的访问等。

  15. 弱密码和私钥保护:弱密码和私钥保护可能导致证书被攻击者破解或获取。为了避免这种情况,需要确保使用强密码,并采取适当的措施来保护私钥,如使用硬件安全模块 (HSM) 或离线存储等。

  16. 证书过期和吊销:过期或吊销的证书可能导致系统无法正常运行或受到攻击。因此,需要定期检查证书的有效性,并更新或吊销过期或不再受信任的证书。

  17. 未经授权的证书使用:如果未经授权的证书被使用,可能会导致数据泄露或未经授权的访问。因此,需要限制对证书的使用,并确保只有经过授权和验证的证书才能被接受和使用。

  18. 证书管理和监控:证书管理和监控是确保系统安全的关键步骤。这包括监控证书的使用情况、及时更新证书、建立证书审计机制等。

  19. 社交工程和钓鱼攻击:攻击者可能通过社交工程和钓鱼攻击的手段欺骗用户获取证书或私钥。为了防止这种情况发生,需要进行员工教育,提高用户对于钓鱼攻击的警觉性,并采取相应的安全措施。

  20. 不安全的证书传输和存储:证书在传输和存储过程中可能会受到攻击者的窃取或篡改。为了保护证书的安全,需要使用加密的传输通道,并采取安全的存储措施。

  21. 证书滥用:如果证书被滥用,攻击者可能会误导用户或伪装成合法的实体进行攻击。为了防止证书滥用,需要对证书使用进行限制,并确保只有经过授权的实体才能使用证书。

  22. 不安全的证书颁发机构:如果证书颁发机构不安全,攻击者可能会滥用其权威性来签署不受信任的证书。因此,需要选择可靠的证书颁发机构,并对其进行审计和监控。

  23. 证书冒充:证书冒充是指攻击者通过欺骗或伪造方式获取合法的证书,并利用该证书进行攻击。为了避免证书冒充,需要加强对证书的管理和验证,并采取适当的措施来保护证书的机密性和完整性。

  24. 无效的证书验证:如果证书验证机制不够严格,攻击者可能会通过伪造证书等方式绕过验证。因此,需要确保证书验证机制严格、有效,并定期更新证书吊销列表等信息。

  25. 证书泄露:如果证书被泄露,攻击者可能会利用该证书进行攻击或伪装成合法的实体进行欺骗。为了避免证书泄露,需要对证书的存储、传输和使用进行严格控制,并定期检查证书的安全性。

  26. 证书链验证:证书链验证是确保证书信任链完整性的关键环节。如果证书链验证不严格,可能导致信任链被攻击者篡改或破坏,从而使系统容易受到攻击。因此,需要确保对证书链的验证过程严谨可靠,以防止不受信任的证书被接受。

  27. 证书更新和轮换:证书的更新和轮换是保持系统安全的重要步骤。过期的证书可能会导致系统出现故障或漏洞,因此需要定期检查和更新证书,并建立自动化的证书轮换机制,以确保系统始终使用有效和安全的证书。

  28. 证书备份和恢复:证书的备份和恢复是防止数据丢失和系统瘫痪的关键措施。在证书丢失或损坏时,需要能够及时恢复证书以保证系统的正常运行。因此,需要建立健全的证书备份和恢复机制,并定期测试其有效性。

  29. 证书透明度:证书透明度是指公开证书签发和吊销的信息,以增强证书颁发机构的透明度和责任性。通过证书透明度机制,可以及时发现和阻止不当证书的签发,提高证书颁发机构的信誉和可信度。

  30. 证书标准合规性:证书应符合相应的标准和法规要求,如PKI(Public Key Infrastructure)标准、X.509标准等。确保证书的合规性可以提高其安全性和可靠性,减少潜在的安全风险。

  31. 证书审计和监控:对证书的使用情况进行审计和监控是保障系统安全的重要手段。通过审计和监控可以及时发现异常行为和潜在风险,提高系统对证书使用的可见性和控制能力。

  32. 证书访问控制:建立合适的证书访问控制机制可以限制对证书的访问和使用权限,防止未经授权的实体获取和滥用证书。确保只有经过授权的用户或实体才能使用证书可以有效防范潜在的安全威胁。

  33. 证书漏洞管理:定期更新和修补证书软件和组件中的漏洞是维护系统安全的必要措施。及时采取措施修复已知的证书漏洞可以减少系统受到攻击的风险,并提高系统的整体安全性。

  34. 证书教育培训:加强对用户和员工的证书安全教育和培训可以提高其对证书安全性的认识和理解,增强其防范证书安全风险的能力。定期组织证书安全培训和演练可以有效提升整体安全意识和应对能力。

  35. 跨境数据传输安全:在涉及跨境数据传输时,需要特别关注证书的安全性和合规性。确保证书在跨境传输过程中不被篡改或泄露,遵守相关数据保护法规和隐私政策,以保护用户数据和隐私安全。

  36. 证书生命周期管理:有效的证书生命周期管理是确保证书安全和可靠性的关键。包括证书的颁发、更新、吊销和销毁等各个阶段都需要进行有效管理,以确保证书的合法性和有效性。

  37. 证书密钥保护:证书的私钥是保证证书安全性的重要组成部分。必须采取适当的措施保护证书的私钥,如加密存储、安全传输、定期轮换等,以防止私钥泄露或被盗用。

  38. 多因素认证:在某些敏感操作或场景下,建议使用多因素认证来增强安全性。结合证书认证和其他因素,如密码、生物识别等,可以有效提高身份验证的可靠性和安全性。

  39. 安全协议支持:确保系统和应用程序支持安全的协议和加密算法,如TLS/SSL,以保障证书传输和通信的安全性。避免使用已知存在漏洞的协议或算法,以免系统受到攻击。

  40. 安全审计和合规性检查:定期进行安全审计和合规性检查,评估证书管理和使用的合规性和安全性。发现问题后及时修复漏洞,提高系统的整体安全水平。

  41. 证书撤销列表(CRL):证书撤销列表是用于记录已吊销证书的列表。及时获取和使用最新的CRL是确保证书有效性和安全性的关键。系统应定期检查和更新CRL,以避免使用已被吊销的证书。

  42. 可信根证书管理:可信根证书是验证其他证书合法性的基础。确保系统中存储的可信根证书安全可靠,并进行定期更新和审查,以防止非法证书的使用和滥用。

  43. 证书备份与恢复:对重要的证书进行定期备份,并建立有效的证书恢复机制,以便在证书丢失或损坏时能够及时恢复证书,避免系统服务中断和安全风险。

  44. 强化密钥管理:密钥管理是证书安全的核心。确保密钥生成、存储、传输和销毁过程的安全性,采取适当的密钥长度和算法,以及完善的密钥轮换策略,以提高密钥的安全性和抗攻击能力。

  45. 安全更新和补丁管理:及时安装操作系统和应用程序的安全更新和补丁是确保系统安全性的重要措施。这些更新和补丁通常包含修复已知的漏洞和强化系统安全性的内容,因此应该定期进行更新和验证。

  46.  

Windows 证书是用于加密、身份验证和安全通信的数字证书,它们在 Windows 操作系统中起着重要作用。具体来说,Windows 证书通常用于以下几个方面:

  1. 加密通信:Windows 证书可用于安全地加密网络通信,例如通过 HTTPS 进行的网站访问、安全电子邮件传输等。使用证书可以确保数据在传输过程中不被窃听或篡改。

  2. 身份验证:Windows 证书也用于验证用户、计算机或服务器的身份。这种身份验证通常发生在网络认证、VPN 连接、远程桌面等场景中。通过证书,可以确认通信双方的身份真实性,避免恶意伪装或欺骗。

  3. 数字签名:Windows 证书还可以用于创建数字签名,以验证文件的完整性和来源。数字签名可确保文件在传输过程中未被篡改,并且可以追溯到签名者的身份。

在 Windows 操作系统中,你可以使用以下命令来管理证书:

  1. certmgr.msc:打开证书管理器图形界面。你可以通过此界面查看、导入、导出和删除证书,以及管理证书颁发机构、受信任的根证书颁发机构等。

  2. certutil:该命令行工具可用于执行各种证书管理任务。以下是一些常用的 certutil 命令:

    • certutil -addstore store_name certificate_file:将证书导入到指定的存储区(store)中。
    • certutil -delstore store_name certificate_thumbprint:从指定的存储区中删除具有指定拇指印(thumbprint)的证书。
    • certutil -store store_name:列出指定存储区中的所有证书。
    • certutil -viewstore store_name:以详细视图显示指定存储区中的所有证书。
    • certutil -backup store_name backup_file:备份指定存储区中的证书到指定的备份文件。
    • certutil -restore store_name backup_file:从备份文件中还原证书到指定的存储区。

    在这些命令中,store_name 表示要管理的存储区的名称,例如“TrustedRoot”表示受信任的根证书颁发机构存储区;certificate_file 是要导入的证书文件路径;certificate_thumbprint 是要删除的证书的拇指印。


C:\Users\Administrator>certutil /?

动词:
  -dump             -- 转储配置信息或文件
  -dumpPFX          -- 转储 PFX 结构
  -asn              -- 分析 ASN.1 文件

  -decodehex        -- 解码十六进制编码的文件
  -decode           -- 解码 Base64 编码的文件
  -encode           -- 将文件编码为 Base64

  -deny             -- 拒绝挂起的申请
  -resubmit         -- 重新提交挂起的申请
  -setattributes    -- 为挂起申请设置属性
  -setextension     -- 为挂起申请设置扩展
  -revoke           -- 吊销证书
  -isvalid          -- 显示当前证书部署

  -getconfig        -- 获取默认配置字符串
  -ping             -- Ping Active Directory 证书服务申请接口
  -pingadmin        -- Ping Active Directory 证书服务管理接口
  -CAInfo           -- 显示 CA 信息
  -ca.cert          -- 检索 CA 的证书
  -ca.chain         -- 检索 CA 的证书链
  -GetCRL           -- 获取 CRL
  -CRL              -- 发布新的 CRL [或仅增量 CRL]
  -shutdown         -- 关闭 Active Directory 证书服务

  -installCert      -- 安装证书颁发机构证书
  -renewCert        -- 续订证书颁发机构证书

  -schema           -- 转储证书架构
  -view             -- 转储证书视图
  -db               -- 转储原始数据库
  -deleterow        -- 删除服务器数据库行

  -backup           -- 备份 Active Directory 证书服务
  -backupDB         -- 备份 Active Directory 证书服务数据库
  -backupKey        -- 备份 Active Directory 证书服务证书和私钥
  -restore          -- 还原 Active Directory 证书服务
  -restoreDB        -- 还原 Active Directory 证书服务数据库
  -restoreKey       -- 还原 Active Directory 证书服务证书和私钥
  -importPFX        -- 导入证书和私钥
  -dynamicfilelist  -- 显示动态文件列表
  -databaselocations -- 显示数据库位置
  -hashfile         -- 通过文件生成并显示加密哈希

  -store            -- 转储证书存储
  -enumstore        -- 枚举证书存储
  -addstore         -- 将证书添加到存储
  -delstore         -- 从存储删除证书
  -verifystore      -- 验证存储中的证书
  -repairstore      -- 修复密钥关联,或者更新证书属性或密钥安全描述符
  -viewstore        -- 转储证书存储
  -viewdelstore     -- 从存储删除证书
  -UI               -- 调用 CryptUI
  -attest           -- 验证密钥证明请求

  -dsPublish        -- 将证书或 CRL 发布到 Active Directory

  -ADTemplate       -- 显示 AD 模板
  -Template         -- 显示注册策略模板
  -TemplateCAs      -- 显示模板的 CA
  -CATemplates      -- 显示 CA 的模板
  -SetCASites       -- 管理 CA 的站点名称
  -enrollmentServerURL -- 显示、添加或删除与 CA 关联的注册服务器 URL
  -ADCA             -- 显示 AD CA
  -CA               -- 显示注册策略 CA
  -Policy           -- 显示注册策略
  -PolicyCache      -- 显示或删除注册策略缓存项目
  -CredStore        -- 显示、添加或删除凭据存储项目
  -InstallDefaultTemplates -- 安装默认的证书模板
  -URLCache         -- 显示或删除 URL 缓存项目
  -pulse            -- 以脉冲方式执行自动注册事件或 NGC 任务
  -MachineInfo      -- 显示 Active Directory 计算机对象信息
  -DCInfo           -- 显示域控制器信息
  -EntInfo          -- 显示企业信息
  -TCAInfo          -- 显示 CA 信息
  -SCInfo           -- 显示智能卡信息

  -SCRoots          -- 管理智能卡根证书

  -DeleteHelloContainer -- 删除 Hello 登录容器。
     ** 在使用此选项后, 用户需要注销才能完成。**
  -verifykeys       -- 验证公/私钥集
  -verify           -- 验证证书,CRL 或链
  -verifyCTL        -- 验证 AuthRoot 或不允许的证书 CTL
  -syncWithWU       -- 与 Windows 更新同步
  -generateSSTFromWU -- 通过 Windows 更新生成 SST
  -generatePinRulesCTL -- 生成捆绑规则 CTL
  -downloadOcsp     -- 下载 OCSP 响应并写入目录
  -generateHpkpHeader -- 使用指定文件或目录中的证书生成 HPKP 头
  -flushCache       -- 刷新选定进程(例如 lsass.exe)中的指定缓存
  -addEccCurve      -- 添加 ECC 曲线
  -deleteEccCurve   -- 删除 ECC 曲线
  -displayEccCurve  -- 显示 ECC 曲线
  -sign             -- 重新签名 CRL 或证书

  -vroot            -- 创建/删除 Web 虚拟根和文件共享
  -vocsproot        -- 创建/删除 OCSP Web Proxy 的 Web 虚拟根
  -addEnrollmentServer -- 添加注册服务器应用程序
  -deleteEnrollmentServer -- 删除注册服务器应用程序
  -addPolicyServer  -- 添加策略服务器应用程序
  -deletePolicyServer -- 删除策略服务器应用程序
  -oid              -- 显示 ObjectId 或设置显示名称
  -error            -- 显示错误代码消息文本
  -getreg           -- 显示注册表值
  -setreg           -- 设置注册表值
  -delreg           -- 删除注册表值

  -ImportKMS        -- 为密钥存档导入用户密钥和证书到服务器数据库
  -ImportCert       -- 将证书文件导入数据库
  -GetKey           -- 检索存档的私钥恢复 Blob,生成恢复脚本 或恢复存档的密钥
  -RecoverKey       -- 恢复存档的私钥
  -MergePFX         -- 合并 PFX 文件
  -ConvertEPF       -- 将 PFX 文件转换为 EPF 文件

  -add-chain        -- (-AddChain) 添加证书链
  -add-pre-chain    -- (-AddPrechain) 添加预植证书链
  -get-sth          -- (-GetSTH) 获取签名树头
  -get-sth-consistency -- (-GetSTHConsistency) 获取签名树头更改
  -get-proof-by-hash -- (-GetProofByHash) 获取哈希证明
  -get-entries      -- (-GetEntries) 获取项
  -get-roots        -- (-GetRoots) 获取根
  -get-entry-and-proof -- (-GetEntryAndProof) 获取项和证明
  -VerifyCT         -- 验证证书 SCT
  -?                -- 显示该用法消息


CertUtil -?              -- 显示动词列表(命名列表)
CertUtil -dump -?        -- 显示 "dump" 动词的帮助文本
CertUtil -v -?           -- 显示所有动词的所有帮助文本

CertUtil: -? 命令成功完成。

 


C:\Users\Administrator>certreq /?
用法:
  CertReq -?
  CertReq [-v] -?
  CertReq [-Command] -?

  CertReq [-Submit] [Options] [RequestFileIn [CertFileOut [CertChainFileOut [FullResponseFileOut]]]]
    将申请提交到证书颁发机构

  选项:
    -attrib AttributeString
    -binary
    -PolicyServer PolicyServer
    -config ConfigString
    -Anonymous
    -Kerberos
    -ClientCertificate ClientCertId
    -UserName UserName
    -p Password
    -crl
    -rpc
    -AdminForceMachine
    -RenewOnBehalfOf
    -NoChallenge

  CertReq -Retrieve [Options] RequestId [CertFileOut [CertChainFileOut [FullResponseFileOut]]]
    检索来自证书颁发机构的对上一次申请的响应。

  选项:
    -binary
    -PolicyServer PolicyServer
    -config ConfigString
    -Anonymous
    -Kerberos
    -ClientCertificate ClientCertId
    -UserName UserName
    -p Password
    -crl
    -rpc
    -AdminForceMachine

  CertReq -New [Options] [PolicyFileIn [RequestFileOut]]
    按 PolicyFileIn 创建一个新申请

  选项:
    -attrib AttributeString
    -binary
    -cert CertId
    -PolicyServer PolicyServer
    -config ConfigString
    -Anonymous
    -Kerberos
    -ClientCertificate ClientCertId
    -UserName UserName
    -p Password
    -pin Pin
    -user
    -machine
    -xchg ExchangeCertFile

  CertReq -Accept [Options] [CertChainFileIn | FullResponseFileIn | CertFileIn]
    接受和安装到上一次新申请的响应。

  选项:
    -user
    -machine
    -pin Pin

  CertReq -Policy [Options] [RequestFileIn [PolicyFileIn [RequestFileOut [PKCS10FileOut]]]]
    从一个已有的 CA 证书或已有的申请构造交叉
    证书或合格的从属申请。

  选项:
    -attrib AttributeString
    -binary
    -cert CertId
    -PolicyServer PolicyServer
    -Anonymous
    -Kerberos
    -ClientCertificate ClientCertId
    -UserName UserName
    -p Password
    -pin Pin
    -noEKU
    -AlternateSignatureAlgorithm
    -HashAlgorithm HashAlgorithm

  CertReq -Sign [Options] [RequestFileIn [RequestFileOut]]
    为使用注册代理证书申请或
合格的从属签名证书签名。

  选项:
    -binary
    -cert CertId
    -PolicyServer PolicyServer
    -Anonymous
    -Kerberos
    -ClientCertificate ClientCertId
    -UserName UserName
    -p Password
    -pin Pin
    -crl
    -noEKU
    -HashAlgorithm HashAlgorithm

  CertReq -Enroll [选项] TemplateName
  CertReq -Enroll -cert CertId [选项] Renew [ReuseKeys]
    注册或续订证书。

  选项:
    -PolicyServer PolicyServer
    -user
    -machine
    -pin Pin

  CertReq -EnrollAIK [Options] [KeyContainerName]
    注册 AIK 证书。

  选项:
    -config

  CertReq -EnrollCredGuardCert [Options] TemplateName [ExtensionInfFile]
    注册计算机 Credential Guard 证书。

  选项:
    -config

  CertReq -EnrollLogon [Options]
    通过 ADFS 注册 Hello 企业版登录证书。

  选项:
    -q

  CertReq -Post [Options]
    发布 http 请求。

  选项:
    -attrib AttributeString
    -config URL

 


C:\Users\Administrator>cipher /?
显示或更改 NTFS 分区上目录 [文件] 的加密。

  CIPHER [/E | /D | /C]
         [/S:directory] [/B] [/H] [pathname [...]]

  CIPHER /K [/ECC:256|384|521]

  CIPHER /R:filename [/SMARTCARD] [/ECC:256|384|521]

  CIPHER /P:filename.cer

  CIPHER /U [/N]

  CIPHER /W:directory

  CIPHER /X[:efsfile] [filename]

  CIPHER /Y

  CIPHER /ADDUSER [/CERTHASH:hash | /CERTFILE:filename | /USER:username]
         [/S:directory] [/B] [/H] [pathname [...]]

  CIPHER /FLUSHCACHE [/SERVER:servername]

  CIPHER /REMOVEUSER /CERTHASH:hash
         [/S:directory] [/B] [/H] [pathname [...]]

  CIPHER /REKEY [pathname [...]]

    /B        如果遇到错误则中止。默认情况下,即使遇到
              错误,CIPHER 也会继续执行。
    /C        显示有关加密文件的信息。
    /D        解密指定的文件或目录。
    /E        加密指定的文件或目录。目录将
              被标记,这样随后添加的文件就会被加密。
              如果父目录未加密,则当修改加密的文件时,
              该文件可能被解密。建议你
              对文件和父目录进行加密。
    /H        显示具有隐藏属性或系统属性的文件。默认
              情况下会忽略这些文件。
    /K        创建新的用于 EFS 的证书和密钥。如果选择
              了此选项,则将忽略所有其他选项。

              注意: 在默认情况下,/K 会创建符合当前组策略
                    的证书和密钥。如果指定了 ECC,则会使用
                    提供的密钥大小创建自签名的证书。

    /N        此选项只能与 /U 一起使用。它将阻止更新
              密钥。此选项用于查找本地驱动器上的所有
              加密文件。
    /R        生成一个 EFS 恢复密钥和证书,然后将它们写入
              一个 .PFX 文件(包含证书和私钥)和一个
               .CER 文件(只包含证书)。管理员可以向
              EFS 恢复策略添加 .CER 的内容,
              为用户创建恢复密钥并导入 .PFX 以恢复
              各个文件。如果指定了 SMARTCARD,则会将
              恢复密钥和证书写入智能卡。将会
              生成 .CER 文件(仅包含证书),但不会
              生成 .PFX 文件。

              注意: 在默认情况下,/R 会创建 2048 位 RSA 恢复密钥和
                    证书。如果指定了 ECC,则它必须后跟
                    256、384 或 521 大小的密钥。

    /P        基于传入的证书创建 base64 编码的恢复
              策略 blob。此 blob 可用于设置用于 MDM 部署
              的 DRA 策略。
    /S        对给定目录以及其中的所有文件和子目录
              执行指定的操作。
    /U        尝试处理本地驱动器上的所有加密文件。如果用户
              的文件加密密钥或恢复密钥已更改,这会将其
              更新为当前的密钥。此选项不能与 /N 以外的其他
              选项一起使用。
    /W        从整个卷上可用的未使用磁盘空间中删除
              数据。如果选择了此选项,则会忽略所有其他选项。
              指定的目录可以是本地卷上的任意位置。如果它
              是装入点或指向另一个卷中的目录,
              则该卷上的数据将被删除。
    /X        将 EFS 证书和密钥备份到 filename 文件中。如果提供
              了 efsfile,将会备份当前用户的用于
              加密此文件的证书。否则,将会备份用户的当前 EFS
               证书和密钥。
    /Y        在本地电脑上显示当前的 EFS 证书缩略图。
    /ADDUSER  向指定的加密文件添加用户。如果提供
              了 CERTHASH,cipher 将搜索带有此 SHA1 哈希的
              证书。如果提供了 CERTFILE,cipher 将从文件
              中提取证书。如果提供了 USER,cipher 将尝试
              在 Active Directory 域服务中查找用户的
              证书。
    /FLUSHCACHE
              清除指定服务器上的调用用户的 EFS 密钥缓存。
              如果未提供 servername,cipher 会清除本地计算机上
              该用户的密钥缓存。
    /REKEY    更新指定的加密文件以使用配置的
              当前 EFS 密钥。
    /REMOVEUSER
              从指定的文件中删除用户。CERTHASH 必须是
              要删除的证书的 SHA1 哈希。

    directory 目录路径。
    filename  不带扩展名的文件名。
    pathname  指定一个模式、文件或目录。
    efsfile   加密的文件路径。

    如果在不带参数的情况下使用,CIPHER 将显示
    当前目录及其包含的所有文件的加密状态。你可以使用多个目录
    名和通配符。多个参数之间必须有空格。

 


  1. makecert:用于生成自签名的测试证书。这个命令在较早的 Windows 版本中被广泛使用,但在较新的系统中已经不推荐使用。


 
 

使用 PowerShell 来计算证书的剩余有效时间(即距离证书过期的时间)。以下是一个示例脚本,用于获取证书的剩余有效时间:


$certs = Get-ChildItem -Path Cert:\LocalMachine\Root

foreach ($cert in $certs) {
    $remainingDays = ($cert.NotAfter - (Get-Date)).Days
    Write-Host "Subject: $($cert.Subject)"
    Write-Host "Thumbprint: $($cert.Thumbprint)"
    Write-Host "Remaining Days: $remainingDays"
    Write-Host ""
}
上述脚本将列出根证书存储区域中所有证书的主题、Thumbprint 和剩余有效天数。您可以根据需要修改路径以查看其他存储区域中的证书。

 


powershell 查询并输出HTML5网页 内容:根证书 序号 主体 颁发者 指纹 名称 起始时间 到期时间 扩展信息
# 获取根证书存储区中的所有证书
$certs = Get-ChildItem -Path Cert:\LocalMachine\Root

# 创建 HTML 文件的头部
$html = @"
<!DOCTYPE html>
<html>
<head>
    <title>根证书</title>
    <meta charset="UTF-8">
    <style>
        table {
          font-family: Arial, sans-serif;
          border-collapse: collapse;
          width: 100%;
        }
        
        td, th {
          border: 1px solid #ddd;
          padding: 8px;
          text-align: left;
        }
        
        tr:nth-child(even) {
          background-color: #f2f2f2;
        }
        
        th {
          background-color: #4CAF50;
          color: white;
        }
    </style>
</head>
<body>
    <h1>根证书</h1>
    <table>
        <tr>
            <th>序号 (Index)</th>
            <th>主体 (Subject)</th>
            <th>颁发者 (Issuer)</th>
            <th>指纹 (Thumbprint)</th>
            <th>友好名称 (Friendly Name)</th>
            <th>起始时间 (Not Before)</th>
            <th>到期时间 (Not After)</th>
            <th>扩展信息 (Extensions)</th>
        </tr>
"@

# 添加每个证书的信息到 HTML 表格中
$index = 1
$certs | ForEach-Object {
    $extensions = $_.Extensions | ForEach-Object { "$($_.Oid.FriendlyName): $($_.Format(0))" }

    $html += @"
        <tr>
            <td>$index</td>
            <td>$($_.Subject)</td>
            <td>$($_.Issuer)</td>
            <td>$($_.Thumbprint)</td>
            <td>$($_.FriendlyName)</td>
            <td>$($_.NotBefore)</td>
            <td>$($_.NotAfter)</td>
            <td>$($extensions -join "<br>")</td>
        </tr>
"@
    $index++
}

# 添加 HTML 结尾
$html += @"
    </table>
</body>
</html>
"@

# 保存 HTML 文件
$html | Out-File -FilePath "C:\output2024.html" -Encoding UTF8

 


 

posted @ 2024-02-21 07:44  suv789  阅读(116)  评论(0编辑  收藏  举报