O Makecert. exe (ferramenta de criação de certificado)
A ferramenta de criação de certificado gera os certificados x. 509 somente para testes. Ele cria um par de chaves público e privado para assinaturas digitais e armazena em um arquivo de certificado. Essa ferramenta também associa o par de chaves de nome do Editor de especificado e cria um certificado x. 509 que vincula a um nome de usuário especificado para a parte pública do par de chaves.
O Makecert. exe inclui opções básicas e estendidas. Opções básicas são aqueles mais comumente usados para criar um certificado. Opções estendidas fornecem mais flexibilidade.
As chaves particulares de certificado geradas por essa ferramenta nunca devem ser armazenadas em arquivos. snk. Se você precisar armazenar uma chave particular, você deve usar um contêiner de chave. Para obter mais informações sobre como armazenar uma chave particular em um recipiente de chave, consulte Como: Armazenar Chaves Asssimétricas em um Contêiner de Chaves.
Observação
Você deve usar um armazenamento de certificados para armazenar com segurança seus certificados.Os arquivos. snk usados por esta ferramenta armazenam chaves particulares de forma desprotegida.Quando você cria ou importa um arquivo. snk, tenha cuidado para protegê-lo durante o uso e removê-lo quando terminar.
A ferramenta de criação de certificado é instalada automaticamente com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. No prompt de comando, digite o seguinte:
makecert [options] outputCertificateFile
Argumento |
Descrição |
---|---|
outputCertificateFile |
O nome do arquivo. cer, onde o certificado x. 509 de teste será gravado. |
Opções básicas
Opção |
Descrição |
---|---|
-n nome |
Especifica o nome do certificado da entidade. Esse nome deve estar de acordo com o padrão x. 500. O método mais simples é especificar o nome entre aspas duplas, precedidas por CN =; Por exemplo, -n "CN = myName". |
-pe |
Marca a chave particular gerada como exportável. Isso permite que a chave particular a serem incluídos no certificado. |
-sk KeyName |
Especifica o local de recipiente de chave da entidade, que contém a chave particular. Se um recipiente de chave não existir, ela será criada. |
-sr local |
Especifica o local de armazenamento de certificado da entidade. local pode ser uma currentuser (padrão) ou localmachine. |
-ss armazenar |
Especifica o nome de armazenamento do certificado da entidade que armazena o certificado de saída. |
-# número |
Especifica um número de série de 1 a 2.147.483.647. O padrão é um valor exclusivo gerado pelo Makecert. exe. |
-$ autoridade |
Especifica a autoridade de autenticação do certificado, deve ser definido de qualquer commercial (para certificados usados por editores de software comercial) ou individual (para certificados usados por editores de software individuais). |
-? |
Exibe a sintaxe de comando e uma lista de opções básicas da ferramenta. |
-! |
Exibe uma lista de opções estendidas para a ferramenta e a sintaxe de comando. |
Opções estendidas
Opção |
Descrição |
---|---|
-a algoritmo |
Especifica o algoritmo de assinatura. algorithm must be md5, sha1 (the default), sha256, sha384, or sha512. |
-b dd/mm/aaaa |
Especifica o início do período de validade. O padrão é a data atual. |
-crl |
Gera uma lista de realocação de certificados (CRL) em vez de um certificado. |
-cy certType |
Especifica o tipo de certificado. Os valores válidos são end para a entidade final e authority para a autoridade de certificação. |
-e dd/mm/aaaa |
Especifica o término do período de validade. Padrões de 31/12/2039 11: 59: 59 GMT. |
-eku oid,oid… |
Insere uma lista de identificadores de objeto (OIDs) separados por ponto-e-vírgula, maior uso de chave no certificado. |
-h número |
Especifica a altura máxima da árvore abaixo deste certificado. |
-ic arquivo |
Especifica o arquivo de certificado do emissor. |
-ik keyName |
Especifica o nome do recipiente de chave do emissor. |
-iky KeyType |
Especifica o tipo de chave do emissor, que deve ser uma das seguintes opções: signature(que indica que a chave é usada para uma assinatura digital), exchange (que indica que a chave é usada para criptografia de chave e a troca de chaves), ou um inteiro que representa um tipo de provedor. Por padrão, você pode passar 1 para uma chave de troca ou 2 para uma chave de assinatura. |
-in nome |
Especifica o nome comum do certificado do emissor. |
-ip provedor |
Especifica o nome do provedor de CryptoAPI do emissor. Para obter informações sobre o nome do provedor de CryptoAPI, consulte o –sp opção. |
-ir local |
Especifica o local de armazenamento de certificado do emissor. local pode ser uma currentuser (padrão) ou localmachine. |
-is armazenar |
Especifica o nome do armazenamento de certificado do emissor. |
-iv pvkFile |
Especifica o arquivo de chave particular do emissor. pvk. |
-iy tipo |
Especifica o tipo de provedor de CryptoAPI do emissor. Para obter informações sobre o tipo de provedor de CryptoAPI, consulte o –sy opção. |
-l link |
Links para informações de diretiva (por exemplo, para um URL). |
-len número |
Especifica o comprimento da chave gerado, em bits. |
-m número |
Especifica a duração em meses do período de validade do certificado. |
-nscp |
Inclui a extensão de autorização de cliente do Netscape. |
-r |
Cria um certificado auto-assinado. |
-scarquivo |
Especifica o arquivo de certificado da entidade. |
-sky KeyType |
Especifica o tipo de chave da entidade, que deve ser uma das seguintes opções: signature(que indica que a chave é usada para uma assinatura digital), exchange (que indica que a chave é usada para criptografia de chave e a troca de chaves), ou um inteiro que representa um tipo de provedor. Por padrão, você pode passar 1 para uma chave de troca ou 2 para uma chave de assinatura. |
-sp provedor |
Especifica o nome da entidade CryptoAPI provedor, que deve ser definido nas subchaves do registro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. Se ambos os –sp e –sy estiver presente, o tipo de provedor deve corresponder a CryptoAPI da Type o valor da subchave de. o provedor |
-sv pvkFile |
Especifica o arquivo de chave particular da entidade. pvk. O arquivo é criado se não houver nenhum. |
-sy tipo |
Especifica o tipo de provedor de CryptoAPI da entidade, que deve ser definido nas subchaves do registro de tipos de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider. Se ambos os –sy e –sp estiver presente, o nome do provedor deve corresponder a CryptoAPI da Name o valor da subchave de tipo de provedor. |
-tbs |
Especifica o certificado ou arquivo CRL a ser assinado. |
Exemplos
O comando a seguir cria um certificado de teste emitido pela raiz de teste padrão e grava-o para testCert.cer.
makecert testCert.cer
O comando a seguir cria um certificado emitido pela raiz de teste padrão e salva-o em um armazenamento de certificados.
makecert -ss testCertStore
O comando a seguir cria um certificado emitido pela raiz de teste padrão e salva-o em um armazenamento de certificados. Ele explicitamente coloca o certificado na currentuser do armazenamento.
makecert -ss testCertStore -sr currentuser
O comando a seguir cria um certificado de teste e grava-o para textXYZ.cer, usando o recipiente de chave da entidade e o nome do x. 500. sujeito do certificado
makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer
O comando a seguir cria um certificado emitido pela raiz de teste padrão, cria um arquivo. pvk e gera o certificado para o armazenamento e o arquivo.
makecert -sv testCert.pvk -ss testCertStore testCert.cer
O comando a seguir cria um certificado emitido pela raiz de teste padrão, cria um recipiente de chave e gera o certificado para o armazenamento e o arquivo.
makecert -sk myTestKey -ss testCertStore testCert.cer
O comando a seguir cria um certificado auto-assinado, especifica um nome de assunto de "CN = empresa XYZ", especifica início fim final períodos de validade, coloca a chave do my Especifica uma chave de troca de armazenamento e faz com que a chave particular exportável.
makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my
O comando a seguir cria um certificado auto-assinado que pode ser usado para testar um aplicativo da web que usa o Secure Sockets Layer (SSL) em um servidor da web cuja URL é www.example.com. O OID definido pelo –eku opção identifica se o certificado como um certificado de servidor SSL. O certificado está armazenado na my armazenar e está disponível no nível de máquina (em vez de usuário). A chave particular do certificado é exportável e o certificado é válido a partir de 10 de maio de 2010 até 22 de dezembro de 2011.
Makecert –r –pe –n CN="www.example.com" –b 05/10/2010 –e 12/22/2011 –eku 1.3.6.1.5.5.7.3.1 –ss my –sr localmachine -sky exchange –sp "Microsoft RSA SChannel Cryptographic Provider" –sy 12
Os comandos a seguir criam certificados e salvá-los em armazenamentos. O primeiro comando cria um certificado usando a raiz de teste padrão e salva o certificado para um armazenamento. O segundo comando cria outro certificado usando o certificado recém-criado e salva o segundo certificado para outro armazenamento.
makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore
Os comandos a seguir criam certificados e salvá-los em armazenamentos. O primeiro comando salva o certificado para o my do armazenamento. O segundo comando cria outro certificado usando o certificado recém-criado. Porque há mais de um certificado na my store, o segundo comando identifica o primeiro certificado usando o seu nome comum.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore
Os comandos a seguir criam certificados e salvá-los em arquivos e o armazena. O primeiro comando cria um certificado usando a raiz de teste padrão e salva o certificado para o my armazenar e para um arquivo. O segundo comando cria outro certificado usando o recém-criado testCert.cer certificado. Porque há mais de um certificado na my store, o segundo comando identifica o primeiro certificado usando o nome de arquivo de certificado.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore
Consulte também
Referência
Cert2spc.exe (ferramenta de teste do certificado de editor de Software)
Prompt de comando Visual Studio
Outros recursos
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Maio de 2010 |
Revisado exaustivamente. |
Comentários do cliente. |