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:
|
-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:
|
-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á. |