Partilhar via


MakeCert

Observação

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

 

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

Você pode baixar o SDK do Windows do Centro de Desenvolvimento do Windows.

A ferramenta MakeCert usa a seguinte sintaxe de comando:

MakeCert [BasicOptions|ExtendedOptions] OutputFile

OutputFile é o nome do arquivo onde 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 alargadas proporcionam mais flexibilidade.

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

  • Opções básicas específicas apenas para a tecnologia de armazenamento de certificados.
  • Opções estendidas específicas apenas para o arquivo SPC e a tecnologia de chave privada.
  • Opções estendidas aplicáveis ao arquivo SPC, chave privada e tecnologia de armazenamento 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
-um algoritmo Hash algoritmo. Deve ser definido como SHA-1 ou MD5 (padrão). Para obter informações sobre 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 do DateStart é mm/dd/aaaa.
-cyCertificateTypes Tipo de certificado. CertificateTypes pode ser final para entidade final ou autoridade para autoridade de certificação.
-eDateEnd Data de expiração do prazo de validade. O padrão é o ano de 2039.
-ekuOID1,OID2 ... Insere uma lista de um ou mais identificadores de objeto (OIDs) separados por vírgulas uso avançado de chave (OIDs) 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 em CryptoAPI 2.0.
-hNumChildren Altura máxima da árvore abaixo deste certificado.
-lPolicyLink Link para informações da política da agência SPC (por exemplo, um URL).
-mnMeses Duração do período de validade.
-n"Name" Nome do certificado do editor. Este 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 de assunto existente a ser usada.
-skSubjectKey Localização do recipiente de chave do sujeito 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 da chave do sujeito. SubjectKeySpec deve ser um dos três valores possíveis:
  • Signature (especificação AT_SIGNATURE chave)
  • 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 assunto. O padrão é o provedor do usuário. Para obter informações sobre provedores CryptoAPI, consulte a documentação CryptoAPI 2.0.
-srSubjectCertStoreLocation Local do Registro do armazenamento 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 armazenamento de certificados da entidade onde o certificado gerado será armazenado.
-svSubjectKeyFile Nome do arquivo .pvk do assunto. 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 assunto. O padrão é PROV_RSA_FULL. Para obter informações sobre os tipos de provedor CryptoAPI, consulte a documentação 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 é garantido como exclusivo.
-$ CertificateAuthority Tipo de autoridade de certificação. CertificateAuthority deve ser definida 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 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 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 chave, o MakeCert primeiro tentará usar a especificação de chave AT_SIGNATURE. Se isso falhar, o MakeCert tentará usá 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.

SPC e opção de chave privada Descrição
-icIssuerCertFile Localização do certificado do emitente.
-ikIssuerKey Localização do contentor de chaves do emissor. O padrão é a chave raiz de teste.
-ikyIssuerKeySpec Especificação da chave do emitente, que deve ser um dos três valores possíveis:
  • Signature (especificação AT_SIGNATURE chave)
  • 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 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 os tipos de provedor CryptoAPI, consulte a documentação CryptoAPI 2.0.

 

Observação

Se a opção de especificação de chave -iky -iky for usada no Internet Explorer 4.0 ou posterior, a especificação deverá corresponder à especificação de chave indicada pelo arquivo dede chave privadaou 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 chave, o MakeCert primeiro tentará usar a especificação de chave AT_SIGNATURE. Se isso falhar, o MakeCert tentará usá 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 armazenamento de certificados tecnologia.

Opção de armazenamento de certificados Descrição
-icIssuerCertFile Arquivo que contém o certificado do emissor. O MakeCert procurará no armazenamento de certificados um certificado com uma correspondência exata.
-inIssuerNameString Denominação comum do certificado do emitente. O MakeCert procurará no armazenamento de certificados um certificado cujo nome comum inclua IssuerNameString.
-irIssuerCertStoreLocation Local do Registro do armazenamento de certificados do emissor. IssuerCertStoreLocation deve estar LocalMachine (chave do Registro HKEY_LOCAL_MACHINE) ou CurrentUser (chave do Registro HKEY_CURRENT_USER). CurrentUser é o padrão.
-isIssuerCertStoreName Armazenamento 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 armazenamento, o usuário deve identificá-lo exclusivamente usando a opção -ic ou -in. Se o certificado no armazenamento de certificados não for identificado exclusivamente, o MakeCert falhará.