当前位置: 首页 > 工具软件 > put2win > 使用案例 >

win10、win7 脚本导证书到系统中

夹谷阳夏
2023-12-01

--------------------------------------------------------------------------------------------------------

可用的bat,仅测试了win10和win 7

@echo off


rem 注意:::需要管理员权限,否则运行失败!!
rem 作用:将mongoose的根证书ca.crt导入当前计算机

rem 导入时windows会弹出警告框( 缺点),提示用户是否信任该根证书,需要管理员权限
rem certmgr.exe /c /add C:\ca.crt /s root win10 ok,win 7没有 certmgr.exe

rem 导入证书到可信任证书颁发者,C:\ca.crt 证书路径需根据实际情况更改
certutil -addstore root C:\ca.crt

pause

exit

-------------------------------------------------------------------------------------------------------------------

certmgr.exe 简介!

证书管理器工具管理证书、证书信任列表 (CTL) 和证书吊销列表 (CRL)。 


certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]

参数
--------------------------------------------------------------------------------
参数                 说明  
sourceStorename      StoreFile 类型或系统存储区类型的输入证书存储区。
destinationStorename 输出证书存储区或文件。

选项                 说明 
/add                 将证书、CTL 和 CRL 添加到证书存储区中。
/all                 当与 /add 一起使用时添加所有项。当与 /del 一起使用时删除所有项。不带 /add 或 /delete 选项使用时显示所有项。/all 选项不能与 /put 一起使用。
/c                   当与 /add 一起使用时添加证书。当与 /del 一起使用时删除证书。当与 /put 一起使用时保存证书。不带 /add、/delete 或 /put 选项使用时显示证书。 
/CRL                 添加或删除 CRL。不带 /add、/delete 或 /put 选项使用时显示 CRL。 
/CTL                 添加或删除 CTL。不带 /add、/delete 或 /put 选项使用时显示 CTL。
/delete              从指定的证书存储区中删除证书、CTL 和 CRL。
/e encodingType      指定证书编码类型。
/f dwFlags           指定存储区打开标志。这是传递到 CertOpenStore 的 dwFlags 参数。默认值为 CERT_SYSTEM_STORE_CURRENT_USER。仅当使用 /y 选项时才考虑此选项。
/h[elp]              显示该工具的命令语法和选项。
/n commonName String 指定要添加、删除或保存的证书的公共名。此选项只能用于证书,不能用于 CTL 或 CRL。
/put                 将证书存储区中的 X.509 证书、CTL 或 CRL 保存到文件。该文件将以 X.509 格式保存。/7 选项可与 /put 选项一起使用以 PKCS #7 格式保存文件。/put 选项后面必须有 /c、/CTL 或 /CRL。/all 选项不能与 /put 一起使用。 
/r registry location 标识系统存储区的注册表位置。仅当指定 /s 选项时才考虑此选项。Registry location 必须是下列值之一:
                     currentUser 指示证书存储区在 HKEY_CURRENT_USER 键下。此为默认值。
                     localMachine 指示证书存储区在 HKEY_LOCAL_MACHINE 键下。
/s                   指示证书存储区是系统存储区。如果不指定此选项,则该存储区为 StoreFile。
/sha1 sha1Hash       指定要添加、删除或保存的证书、CTL 或 CRL 的 SHA1 哈希。
/v                   指定详细模式;显示有关证书、CTL 和 CRL 的详细信息。此选项不能与 /add、/delete 或 /put 选项一起使用。
/y storeProviderType 指定存储区提供程序类型。
/7                   将目标存储区保存为 PKCS#7 对象。 
/?                   显示该工具的命令语法和选项。

备注
--------------------------------------------------------------------------------
Certmgr.exe 执行下列基本功能: 
将证书、CTL 和 CRL 显示到控制台。 
将证书、CTL 和 CRL 添加到证书存储区中。 
从证书存储区中删除证书、CTL 和 CRL。 
将证书存储区中的 X.509 证书、CTL 或 CRL 保存到文件。 
Certmgr.exe 使用两类证书存储区:StoreFile 和系统存储区。 不必指定证书存储区的类型;Certmgr.exe 能够识别存储区类型并执行适当的操作。 
未指定任何选项运行 Certmgr.exe 启动 certmgr.msc 的管理单元,其中有一个 GUI,使用证书管理任务,也可从命令行的帮助。 该 GUI 提供一个导入向导,此向导将证书、CTL 和 CRL 从磁盘复制到证书存储区中。 
有关证书的更多信息,请参见 Microsoft Platform SDK 文档中的“About CryptoAPI”部分。 
示例
--------------------------------------------------------------------------------
下列命令显示一个名为 my 且包含详细输出的默认系统存储区。
  1. certmgr /v /s my
复制代码
下面的命令将名为 myFile.ext 的文件中的所有证书添加到一个名为 newFile.ext 的新文件中。
  1. certmgr /add /all /c myFile.ext newFile.ext
复制代码
下面的命令将一个名为 文件中添加证书 testcert.cer以将 my系统存储区。
  1. certmgr /add /c testcert.cer /s my
复制代码
下面的命令将证书添加在一个文件中名为 TrustedCert.cer到 根证书存储区。
  1. certmgr /c /add TrustedCert.cer /s root
复制代码
下面的命令将证书保存使用通用名称 myCert中将 my系统存储到文件中名为 newCert.cer
  1. certmgr /add /c /n myCert /s my newCert.cer
复制代码
下面的命令删除 my 系统存储区中的所有 CTL,并将结果存储区保存到一个名为 newStore.str 的文件中。
  1. certmgr /del /all /ctl /s my newStore.str
复制代码
下面的命令将证书保存在 my文件中存储系统 newFile 系统将提示您输入证书编号从 my放 newFile
  1. certmgr /put /c /s my newFile
复制代码

----------------------------------------------------------------------------------------------------------------------------

certutil 简介

这测试环境是Win7,如果你是WinXP还得看别的操作。具体请参照:

如何将第三方证书颁发机构 (CA) 的证书导入 Enterprise NTAuth 存储

http://support.microsoft.com/kb/295663

方法 2:使用 Certutil.exe 导入证书

Certutil.exe 是一个用于管理 Windows CA 的命令行实用程序。在 Windows Server 2003 中,您可以使用 Certutil.exe 将证书发布到 Active Directory。Certutil.exe 与 Windows Server 2003 一起安装。它作为 Microsoft Windows Server 2003 管理工具包的一部分提供。要下载该工具包,请访问以下 Microsoft 网站:

http://www.microsoft.com/downloads/details.aspx?FamilyID=c16ae515-c8f4-47ef-a1e4-a8dcbacff8e3&DisplayLang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=c16ae515-c8f4-47ef-a1e4-a8dcbacff8e3&DisplayLang=en) 要将 CA 证书导入 Enterprise NTAuth 存储,请按照以下步骤操作:

1将 CA 的证书导出到 .cer 文件。支持以下文件格式:

?DER 编码二进制 X.509 (.cer)

?Base64 编码 X.509 (.cer)

2.在命令提示符下键入下面的命令,然后按 Enter:

certutil -dspublish -f filename NTAuthCA

把证书加到 Trusted root 里去。
certutil -addstore root certroot.cer    (可用,且不会有警告框!)


 类似资料: