MakeCert

Observação

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

 

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, em um repositório de certificados do sistema ou em ambos. A ferramenta é instalada na pasta \Bin do caminho de instalação do SDK (Software Development Kit) do Microsoft Windows.

Você pode baixar o SDK do Windows no Centro de Desenvolvimento do 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ê pode omitir OutputFile se o certificado não for gravado em um arquivo.

Opções

O MakeCert inclui opções básicas e estendidas. As opções básicas são as mais comumente usadas para criar um certificado. As opções estendidas fornecem 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 a tecnologia de arquivo SPC e 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 podem ser usadas somente com o Internet Explorer 4.0 ou posterior.

Opção Básica Descrição
-aAlgoritmo Algoritmo Hash . Deve ser definido como SHA-1 ou MD5 (padrão). Para obter mais informações sobre MD5, consulte MD5.
-bDateStart A data em que o certificado se torna válido. 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 termina o período de validade. O padrão é o ano 2039.
-ekuOID1,OID2 Insere uma lista de um ou mais identificadores de objeto de usode chave (OIDs) aprimorados e 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 deste certificado.
-lPolicyLink Link para informações de política da agência SPC (por exemplo, um 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 do cliente 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 Localização do contêiner de chaves do assunto que contém a chave privada. Se um contêiner de chave não existir, um será criado. Se nem a opção -sk ou -sv for usada, um contêiner de chave padrão será criado e usado por padrão.
-skySubjectKeySpec Especificação 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 número inteiro, como 3
Para obter mais informações, consulte a nota que segue esta tabela.
-spSubjectProviderName Provedor CryptoAPI para o 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 do sujeito. Se nem a opção -sk ou -sv for usada, um contêiner de chave padrão será criado e usado por padrão.
-synSubjectProviderType Tipo de provedor CryptoAPI para o assunto. O padrão é PROV_RSA_FULL. Para obter informações sobre tipos de provedores CryptoAPI, consulte a documentação do CryptoAPI 2.0.
-#SerialNumber O número de série do certificado. O valor máximo é 2^31. O padrão é um valor gerado pela ferramenta que é garantido como exclusivo.
-$CertificateAuthority Tipo de autoridade de certificação. CertificateAuthority deve ser definido como comercial (para certificados a serem usados por editores de software comerciais) 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 de chave -sky for usada no Internet Explorer versão 4.0 ou posterior, a especificação deverá corresponder à especificação de chave indicada pelo arquivo de chave privada ou pelo 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 (Certificado do Editor de Software) e tecnologia de chave privada.

Opção de SPC e chave privada Descrição
-icIssuerCertFile Localização do certificado do emissor.
-ikIssuerKey Localização do contêiner de chaves 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 número inteiro, como 3
Para obter mais informações, consulte a nota 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 é raiz de teste.
-iynIssuerProviderType Tipo de provedor CryptoAPI para emissor. O padrão é PROV_RSA_FULL. Para obter informações sobre tipos de provedores CryptoAPI, consulte a documentação do CryptoAPI 2.0.

 

Observação

Se a opção de especificação de chave -iky for usada no Internet Explorer versão 4.0 ou posterior, a especificação deverá corresponder à especificação de chave indicada pelo arquivo de chave privada ou pelo 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 a tecnologia de repositório de certificados.

Opção de repositório de certificados Descrição
-ic IssuerCertFile Arquivo que contém o certificado do emissor. O MakeCert pesquisará no repositório de certificados um certificado com uma correspondência exata.
-in IssuerNameString Nome comum do certificado do emissor. O MakeCert pesquisará no repositório de certificados um certificado cujo nome comum inclua IssuerNameString.
-ir IssuerCertStoreLocation 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.
-is IssuerCertStoreName 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á.