New-ExchangeCertificate

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

上一次修改主题: 2009-05-11

使用 New-ExchangeCertificate cmdlet 可以为传输层安全性 (TLS) 服务和安全套接字层 (SSL) 服务新建自签名证书或新的证书请求。

important要点:
为 SSL 服务和 TLS 服务配置证书时,必须考虑许多变量。必须了解这些变量如何影响您的整体配置。在继续之前,请阅读 证书在 Exchange 2007 Server 中的使用

语法

New-ExchangeCertificate [-Confirm [<SwitchParameter>]] [-DomainController <String>] [-DomainName <MultiValuedProperty>] [-FriendlyName <String>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-PrivateKeyExportable <$true | $false>] [-Services <None | IMAP | POP | UM | IIS | SMTP>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

New-ExchangeCertificate [-BinaryEncoded <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DomainController <String>] [-DomainName <MultiValuedProperty>] [-Force <SwitchParameter>] [-FriendlyName <String>] [-GenerateRequest <SwitchParameter>] [-IncludeAcceptedDomains <SwitchParameter>] [-IncludeAutoDiscover <SwitchParameter>] [-Instance <X509Certificate2>] [-KeySize <Int32>] [-Path <String>] [-PrivateKeyExportable <$true | $false>] [-SubjectName <X500DistinguishedName>] [-WhatIf [<SwitchParameter>]]

详细说明

New-ExchangeCertificate cmdlet 使用许多 SwitchParameter 类型的参数。有关如何使用此类型的详细信息,请参阅参数中的“开关参数”。

若要运行 New-ExchangeCertificate cmdlet,必须为您使用的帐户委派以下角色:

  • Exchange Server 管理员角色和目标服务器的本地 Administrators 组

若要在安装了边缘传输服务器角色的计算机上运行 New-ExchangeCertificate cmdlet,必须使用作为该计算机的本地 Administrators 组成员的帐户进行登录。

有关管理 Microsoft Exchange Server 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

参数

参数 必需 类型 说明

BinaryEncoded

可选

System.Management.Automation.SwitchParameter

使用此参数开关可以指定如何为导出的文件编码。默认情况下,此 cmdlet 将创建 Base64 编码的文件。

若要创建 DER 编码的文件,请将此参数设置为 $True

Confirm

可选

System.Management.Automation.SwitchParameter

Confirm 参数将导致命令暂停处理,并且需要您在处理继续之前确认该命令将执行的操作。不必为 Confirm 参数指定值。

DomainController

可选

System.String

若要指定用于从 Active Directory 目录服务检索数据的域控制器的完全限定的域名 (FQDN),请在命令中包含 DomainController 参数。运行边缘传输服务器角色的计算机不支持 DomainController 参数。边缘传输服务器角色只会写入本地 Active Directory 应用程序模式 (ADAM) 实例。

DomainName

可选

Microsoft.Exchange.Data.MultiValuedProperty

使用此参数可以在生成的证书请求中填充一个或多个域名 (FQDN) 或服务器名称。

域名限制为使用字符“a-z”、“0-9”以及连字符(“-”)。每个域名的长度不得超过 255 个字符。

若要输入多个域名或服务器名称,必须输入使用逗号分隔的名称。

Force

可选

System.Management.Automation.SwitchParameter

使用此参数开关可以覆盖与此 cmdlet 中指定的文件路径相匹配的现有证书请求文件。

默认情况下,此 cmdlet 不会覆盖现有文件。

FriendlyName

可选

System.String

使用此参数可以为生成的证书指定友好名称。友好名称必须少于 64 个字符。

默认的友好名称为“Microsoft Exchange”。

GenerateRequest

可选

System.Management.Automation.SwitchParameter

使用此参数可以指定要创建的证书对象的类型。

默认情况下,此参数将在本地计算机的证书存储中创建自签名证书。

若要在本地请求存储中为 PKI 证书 (PKCS #10) 创建证书请求,请将此参数设置为 $True

IncludeAcceptedDomains

可选

System.Management.Automation.SwitchParameter

使用此参数可以在域名字段中包含所有已定义的接受域。

还可以在请求中指定 DomainName 参数。生成的证书或请求将包含两个值的联合体。

IncludeAutoDiscover

可选

System.Management.Automation.SwitchParameter

使用此参数可以向为生成的证书生成的每个域名添加前缀“autodiscover”。只有在安装了客户端访问服务器角色的 Exchange Server 上运行此 cmdlet 时,才能指定此参数。注意:如果域名已包含前缀,此参数将不会添加“autodiscover”前缀。

Instance

可选

System.Security.Cryptography.X509Certificates.X509Certificate2

使用此参数可以将整个对象传递给此命令进行处理。Instance 参数主要用于必须将整个对象传递给命令的脚本。

KeySize

可选

System.Int32

使用此参数可以指定与要创建的证书关联的 RSA 公钥的大小(位)。

可接受的值是 409620481024。默认值为 2048

Path

可选

System.String

使用此参数可以指定生成的 PKCS #10 请求文件的路径。

只有 GenerateRequest 设置为 $true 时,此参数才有效。

New-ExchangeCertificate cmdlet 将在本地证书存储中生成证书请求,即使指定了 Path 参数也是如此。在本地证书存储中生成的证书请求包含生成的证书的密钥。

使用此参数时,必须指定请求文件的名称。名称必须以扩展名 .req 结尾,例如:

-Path c:\certificates\request.req

证书颁发机构 (CA) 使用 .req 文件生成证书。

PrivateKeyExportable

可选

System.Boolean

使用此参数可以指定生成的证书是否将拥有可导出的私钥。

默认情况下,此 cmdlet 创建的所有证书请求和证书均不允许导出私钥。

您必须了解,如果您无法导出私钥,证书本身无法进行导出和导入。

将此参数设置为 $true 则允许从生成的证书导出私钥。

Services

可选

Microsoft.Exchange.Management.SystemConfigurationTasks.AllowedServices

使用此参数可以指定将使用生成的证书的服务。如果将 GenerateRequest 值设置为 $true,则无法指定服务。

有效的输入包括下列值的组合:

  • IMAP

  • POP

  • UM

  • IIS

  • SMTP

  • None

若要为多项服务创建自签名证书,请将值放在引号内,并通过逗号分隔,例如:

-Services "IMAP, POP, IIS"

若要创建禁用的证书,以便可以将其导出到其他计算机,请将此参数设置为 None

默认值为 SMTP

SubjectName

可选

System.Security.Cryptography.X509Certificates.X500DistinguishedName

使用此参数可以为生成的证书指定主题名称。

证书的主题名称是 DNS 感知的服务所使用的字段。主题名称字段将证书绑定到特定的服务器名称或域名。

主题名称是一个 X.500 可分辨名称,由一个或多个相对可分辨名称(也称为 RDN)组成。

默认情况下,运行 cmdlet 的服务器的主机名将作为结果证书中的 CN 使用。例如,如果在服务器 EXMBX01 上运行 cmdle,则主题名称将使用 CN=EXMBX01。

WhatIf

可选

System.Management.Automation.SwitchParameter

WhatIf 参数指示命令模拟对对象执行的操作。通过使用 WhatIf 参数,可以查看要发生的更改,而不必应用任何这些更改。不必为 WhatIf 参数指定值。

输入类型

返回类型

错误

错误 说明

 

异常

异常 说明

 

示例

第一个示例显示运行没有参数的 cmdlet。运行没有参数的 New-ExchangeCertificate cmdlet 时,将为 SMTP SSL/TLS 生成自签名证书。证书将本地计算机的 FQDN 作为主题名称。对于边缘传输服务器与集线器传输服务器之间的直接信任身份验证和加密,可以原样使用此内部传输证书。还为 Network Services 本地安全组授予对与证书关联的私钥的读取权限。此外,证书将发布到 Active Directory,以便可以使用 Exchange Server 直接信任来验证服务器的真实性,以实现相互 TLS。

第二个示例显示运行 cmdlet,以便生成证书请求并将其复制到本地计算机上的某个路径。生成的证书将具有下列关联的属性:

  • 主题名称:c=<ES>,o=<Diversión de Bicicleta>,cn=mail1.DiversiondeBicicleta.com

  • 主题备选名称:woodgrove.com 和 example.com

  • 可导出的私钥

有关更多示例,请参阅创建 TLS 证书或证书请求以及下列 Exchange Server 工作组博客文章:

有关详细信息,请参阅 域安全性白皮书

New-ExchangeCertificate
New-ExchangeCertificate -GenerateRequest -Path c:\certificates\request.req -SubjectName "c=ES, o=Diversión de Bicicleta, cn=mail1. DiversiondeBicicleta.com" -DomainName woodgrove.com, example.com -PrivateKeyExportable $true