MakeCert

Observação

O MakeCert foi preterido. Para criar certificados autoassinados, use o Cmdlet New-SelfSignedCertificate do Powershell.

 

A ferramenta MakeCert cria um certificado X.509 , assinado pela chave raiz de teste ou outra chave especificada, que associa seu nome à parte pública do par de chaves. O certificado é salvo em um arquivo, um repositório de certificados do sistema ou ambos. A ferramenta é instalada na pasta \Bin do caminho de instalação do SDK (Software Development Kit) do Microsoft Windows.

A ferramenta MakeCert usa a seguinte sintaxe de comando:

MakeCert [BasicOptions|ExtendedOptions] OutputFile

OutputFile é o nome do arquivo em que o certificado será gravado. Você poderá omitir OutputFile se o certificado não for gravado em um arquivo.

Opções

MakeCert inclui opções básicas e estendidas. As opções básicas são as mais comuns para criar um certificado. As opções estendidas dão mais flexibilidade.

As opções para MakeCert também são divididas em três grupos funcionais:

  • Opções básicas específicas apenas para a tecnologia de repositório de certificados.
  • Opções estendidas específicas apenas para o arquivo SPC e a tecnologia de chave privada.
  • Opções estendidas aplicáveis à tecnologia de arquivo SPC, chave privada e repositório de certificados.

As opções fornecidas nas tabelas a seguir só podem ser usadas com a Internet Explorer 4.0 ou posterior.

Opção básica Descrição
-UmAlgoritmo Algoritmo de hash . Deve ser definido como SHA-1 ou MD5 (padrão). Para obter informações sobre o MD5, consulte MD5.
-BDateStart Data em que o certificado se torna válido pela primeira vez. O padrão é quando o certificado é criado. O formato de DateStart é mm/dd/aaaa.
-CyCertificateTypes Tipo de certificado. CertificateTypes pode ser final para entidade final ou autoridade para autoridade de certificação.
-eDateend Data em que o período de validade termina. O padrão é o ano de 2039.
-EkuOID1,OID2... Insere uma lista de um ou mais OIDs (identificadores de objeto de uso de chave) separados por vírgulas no certificado. Por exemplo, -eku 1.3.6.1.5.5.7.3.2 insere o OID de autenticação do cliente. Para obter definições de OIDs permitidos, consulte o arquivo Wincrypt.h no CryptoAPI 2.0.
-HNumChildren Altura máxima da árvore abaixo desse certificado.
-LPolicyLink Link para informações de política da agência SPC (por exemplo, uma URL).
-MnMonths Duração do período de validade.
-n"Name" Nome do certificado do editor. Esse nome deve estar em conformidade com o padrão X.500 . O método mais simples é usar o formato "CN=MyName". Por exemplo: -n "CN=Test".
-nscp A extensão de autenticação de cliente do Netscape deve ser incluída.
-Pe Marca a chave privada como exportável.
-r Cria um certificado autoassinado.
-ScSubjectCertFile Nome do arquivo de certificado com a chave pública da entidade existente a ser usada.
-SkSubjectKey Local do contêiner de chave da entidade que contém a chave privada. Se um contêiner de chaves não existir, um será criado. Se a opção -sk ou -sv não for usada, um contêiner de chave padrão será criado e usado por padrão.
-CéuSubjectKeySpec Especificação de chave do assunto. SubjectKeySpec deve ser um dos três valores possíveis:
  • Assinatura (especificação de chave AT_SIGNATURE)
  • Exchange (especificação de chave AT_KEYEXCHANGE)
  • Um inteiro, como 3
Para obter mais informações, consulte a Observação que segue esta tabela.
-SpSubjectProviderName Provedor cryptoAPI para assunto. O padrão é o provedor do usuário. Para obter informações sobre provedores cryptoAPI, consulte a documentação do CryptoAPI 2.0.
-srSubjectCertStoreLocation Local do registro do repositório de certificados da entidade. SubjectCertStoreLocation deve ser LocalMachine (chave do Registro HKEY_LOCAL_MACHINE) ou CurrentUser (chave do Registro HKEY_CURRENT_USER). CurrentUser é o padrão.
-SsSubjectCertStoreName Nome do repositório de certificados da entidade em que o certificado gerado será armazenado.
-SvSubjectKeyFile Nome do arquivo .pvk da entidade. Se a opção -sk ou -sv não for usada, um contêiner de chave padrão será criado e usado por padrão.
-SynSubjectProviderType Tipo de provedor cryptoAPI para assunto. O padrão é PROV_RSA_FULL. Para obter informações sobre tipos de provedor cryptoAPI, consulte a documentação do CryptoAPI 2.0.
-#Serialnumber Número de série do certificado. O valor máximo é 2^31. O padrão é um valor gerado pela ferramenta que tem a garantia de ser exclusivo.
-$CertificateAuthority Tipo de autoridade de certificação. CertificateAuthority deve ser definido como comercial (para certificados a serem usados por editores de software comercial) ou individual (para certificados a serem usados por editores de software individuais).
-? Exibe as opções básicas.
-! Exibe as opções estendidas.

 

Observação

Se a opção de especificação -sky key for usada na Internet Explorer versão 4.0 ou posterior, a especificação deverá corresponder à especificação de chave indicada pelo arquivo de chave privada ou contêiner de chave privada. Se a opção de especificação de chave não for usada, a especificação de chave indicada pelo arquivo de chave privada ou contêiner de chave privada será usada. Se houver mais de uma especificação de chave no contêiner de chaves, o MakeCert primeiro tentará usar a especificação de chave AT_SIGNATURE. Se isso falhar, o MakeCert tentará usar AT_KEYEXCHANGE. Como a maioria dos usuários tem uma chave AT_SIGNATURE ou uma chave AT_KEYEXCHANGE, essa opção não precisa ser usada na maioria dos casos.

 

As opções a seguir são apenas para arquivos SPC ( Software Publisher Certificate ) e tecnologia de chave privada.

Opção SPC e chave privada Descrição
-IcIssuerCertFile Local do certificado do emissor.
-IkIssuerKey Local do contêiner de chave do emissor. O padrão é a chave raiz de teste.
-ikyIssuerKeySpec Especificação de chave do emissor, que deve ser um dos três valores possíveis:
  • Assinatura (especificação de chave AT_SIGNATURE)
  • Exchange (especificação de chave AT_KEYEXCHANGE)
  • Um inteiro, como 3
Para obter mais informações, consulte a Observação que segue esta tabela.
-IpIssuerProviderName Provedor cryptoAPI para emissor. O padrão é o provedor do usuário. Para obter informações sobre provedores cryptoAPI, consulte a documentação do CryptoAPI 2.0.
-IvIssuerKeyFile Arquivo de chave privada do emissor. O padrão é a raiz de teste.
-IynIssuerProviderType Tipo de provedor cryptoAPI para emissor. O padrão é PROV_RSA_FULL. Para obter informações sobre tipos de provedor cryptoAPI, consulte a documentação do CryptoAPI 2.0.

 

Observação

Se a opção de especificação de chave -iky for usada na Internet Explorer 4.0 ou posterior, a especificação deverá corresponder à especificação de chave indicada pelo arquivo de chave privada ou contêiner de chave privada. Se a opção de especificação de chave não for usada, a especificação de chave indicada pelo arquivo de chave privada ou contêiner de chave privada será usada. Se houver mais de uma especificação de chave no contêiner de chaves, o MakeCert primeiro tentará usar a especificação de chave AT_SIGNATURE. Se isso falhar, o MakeCert tentará usar AT_KEYEXCHANGE. Como a maioria dos usuários tem uma chave AT_SIGNATURE ou uma chave AT_KEYEXCHANGE, essa opção não precisa ser usada na maioria dos casos.

 

As opções a seguir são apenas para tecnologia de repositório de certificados .

Opção repositório de certificados Descrição
-icIssuerCertFile Arquivo que contém o certificado do emissor. O MakeCert pesquisará no repositório de certificados um certificado com uma correspondência exata.
-inIssuerNameString Nome comum do certificado do emissor. MakeCert pesquisará no repositório de certificados um certificado cujo nome comum inclui IssuerNameString.
-irIssuerCertStoreLocation Local do registro do repositório de certificados do emissor. IssuerCertStoreLocation deve ser LocalMachine (chave do Registro HKEY_LOCAL_MACHINE) ou CurrentUser (chave do Registro HKEY_CURRENT_USER). CurrentUser é o padrão.
-isIssuerCertStoreName Repositório de certificados do emissor que inclui o certificado do emissor e suas informações de chave privada associadas. Se houver mais de um certificado no repositório, o usuário deverá identificá-lo exclusivamente usando a opção -ic ou -in . Se o certificado no repositório de certificados não for identificado exclusivamente, o MakeCert falhará.