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