en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

Assinatura de código EV remoto com eSigner

Com SSL.com's eSigner serviço, você pode usar suas credenciais de usuário SSL.com para assinar o código de qualquer dispositivo conectado à Internet. Este guia mostrará como inscrever um Assinatura do código EV pedido de certificado no eSigner e código de assinatura com o aplicativo da web eSigner Express ou a partir da linha de comando com CodeSignTool ou API de assinatura de código compatível com CSC de SSL.com.

O eSigner pode ser usado para assinatura de código Microsoft Authenticode e Java e pode assinar instaladores MSI e vários tipos de scripts. Uma lista completa de tipos de arquivos suportados está disponível no final deste guia.

Antes de começar, você precisará de um Assinatura do código EV certificado de SSL.com. Para obter informações sobre como solicitar seu certificado de SSL.com, leia isto how-to. Se quiser experimentar o eSigner com uma conta de demonstração e certificado, leia Credenciais e certificados de demonstração do eSigner para credenciais e informações de configuração.

Inscreva-se no eSigner

Primeiro, você precisará inscrever um pedido de certificado de assinatura de código EV com o eSigner.

  1. Navegue até um pedido de assinatura de código EV emitido em sua conta SSL.com. Observe que o pedido está rotulado eSigner Ready.
    Pedido de assinatura de código EV pronto para eSigner
  2. Clique em um dos baixar links.
    Links para download
  3. Crie e confirme um PIN de 4 dígitos e clique no botão criar PIN botão.
Se você precisar redefinir seu PIN do eSigner, leia este tutorial.
Criar PIN
  • Seu certificado será gerado e, após alguns momentos, um código QR aparecerá acima do downloads de certificado tabela.
  • Na próxima vez que você recarregar a página, o código QR não estará visível. Se você precisar visualizar ou redefinir seu código QR eSigner, leia este tutorial.
    QR Code
  • Digitalize o código QR em um aplicativo de autenticação de 2 fatores em seu dispositivo móvel, como Google Authenticator or Authy. O aplicativo fornecerá senhas de uso único (OTPs) para usar ao assinar. Cada OTP é válido por 30 segundos.
    OTP em Authy
  • Dica: Você pode usar o eSigner para compartilhar certificados de assinatura de código EV entre colegas de equipe. Por favor leia Compartilhamento de equipe para documentos eSigner e certificados de assinatura de código EV para obter instruções.

    Assine o código com eSigner Express

    eSigner express é uma ferramenta GUI baseada na web conveniente para assinar códigos e documentos. Veja como usá-lo para assinar um arquivo de código.

    1. Navegar para https://express.esigner.com/ com o seu navegador.
      express.esigner.com
    2. Clique na Faça login com conta SSL.com botão.
      Faça login com conta SSL.com
    3. Digite seu SSL.com nome de usuário e senha, Então clique no Acesso de Membros botão.
      janela de login
    4. A tela principal do eSigner aparecerá. Arraste um arquivo a ser assinado para a área de soltar ou clique e navegue até o arquivo. Observe que se você planeja assinar um arquivo com mais de 50 MB, será necessário usar o CodeSignTool. Clique aqui para obter instruções sobre como usar esta ferramenta.
      Carregar arquivo PDF
    5. Digite um código de 6 dígitos do seu aplicativo de autenticação de dois fatores.
      autenticação de dois fatores
    6. Você deverá ver um aviso de que seu arquivo foi assinado com sucesso. Clique no Baixar arquivo botão e escolha um local para salvar o arquivo.
      Baixar arquivo
    7. Verifique as propriedades do arquivo para confirmar a assinatura digital.
      Assinatura digital
    Observação: Se estiver assinando arquivos de código que serão incluídos em um instalador (como um arquivo MSI do Windows), você precisará assinar esses arquivos antes de criar o instalador e, em seguida, assinar o próprio arquivo do instalador.
    Alguns usuários do eSigner relataram problemas com assinaturas inválidas ao assinar instaladores MSI desenvolvidos com o Microsoft Visual Studio. Como alternativa, sugerimos construir seus arquivos MSI com Conjunto de ferramentas WiX. Para a conveniência dos usuários do Visual Studio, um Extensão VS do WiX Toolset está disponível.

    Assine o código com CodeSignTool

    Esta seção inclui instruções para assinar o código com CodeSignTool, uma ferramenta de linha de comando fornecida por SSL.com. Com CodeSignTool, você pode assinar um arquivo com um comando. (Para uma visão geral completa de todas as opções e parâmetros CodeSignTool, consulte o Guia de Comando eSigner CodeSignTool.)

    Instale CodeSignTool

    Primeiro, baixe CodeSignTool, um utilitário de assinatura de código de linha de comando para eSigner. Observe que o download do Windows tem Java runtime integrado, mas a versão Linux / macOS requer que o Java runtime esteja instalado em seu computador.

    Para instalar, basta baixar CodeSignTool para o seu sistema operacional e descompactar o arquivo:

    Trabalhando com CodeSignTool

    Você pode usar CodeSignTool para assinar o código, obter uma lista de IDs de credencial associados a uma conta de usuário SSL.com ou exibir informações de certificado EV vinculadas a um ID de credencial e usuário.

    Código de Assinatura

    1. Quando estiver pronto para começar a assinar, abra um terminal e navegue até o diretório com CodeSignTool.bat (Windows) ou CodeSignTool.sh (macOS / Linux).
    2. Digite o seguinte comando para assinar um arquivo. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):
      CodeSignTool sign -username = USERNAME -password = PASSWORD -input_file_path = PATH / TO / FILE -output_dir_path = PATH / TO / OUTPUT / DIRETÓRIO
      • Se sua senha incluir caracteres especiais, coloque-a entre aspas (por exemplo -password="P!@^^ssword12").
      • Se você tiver mais de um certificado de assinatura de código EV inscrito no eSigner, você deve especificar aquele para usar com o -credential-id opção. Veja abaixo informações sobre como recuperar uma lista de IDs de credenciais.
    3. Você será solicitado a fornecer uma OTP. Obtenha um OTP do seu aplicativo de autenticação e entre nele.
      Digite o OTP - Pressione Enter para continuar: 123456
      
    A geração do OTP pode ser automatizada, permitindo o uso automatizado de CodeSignTool em scripts de construção e pipelines de CI / CD. Por favor leia Automatize a assinatura de código EV eSigner Para obter mais informações.
  • Você deve receber uma mensagem de que seu arquivo foi assinado com sucesso. Verifique as propriedades do arquivo de saída para a assinatura digital.
    Código assinado com sucesso: C: \ Users \ Aaron Russell \ Desktop \ CodeSignTool-v1.0-windows \ output \ test.exe
    Assinatura digital

  • Se você receber a mensagem de erro, Error: invalid otp ao tentar assinar um arquivo, isso pode ser causado por um ou mais destes problemas:

    • O código QR que você digitalizou em seu aplicativo de autenticação não corresponde ao nome de usuário, senha e / ou ID de credencial do seu comando. Isso pode acontecer se:
      • Você tem várias contas configuradas para 2FA em seu dispositivo e escolheu a errada.
      • Você está tentando usar suas credenciais de login para um certificado compartilhado, mas digitalizou um código QR compartilhado por um colega de equipe em sua conta.
    • O OTP que você inseriu já expirou.
    • Se estiver usando automação, seu comando inclui um segredo TOTP inválido.
    Observação: Se estiver assinando arquivos de código que serão incluídos em um instalador (como um arquivo MSI do Windows), você precisará assinar esses arquivos antes de criar o instalador e, em seguida, assinar o próprio arquivo do instalador.
    Alguns usuários do eSigner relataram problemas com assinaturas inválidas ao assinar instaladores MSI desenvolvidos com o Microsoft Visual Studio. Como alternativa, sugerimos construir seus arquivos MSI com Conjunto de ferramentas WiX. Para a conveniência dos usuários do Visual Studio, um Extensão VS do WiX Toolset está disponível.

    Obtenha IDs de credencial

    Use o seguinte comando para obter IDs de credencial associados a uma conta SSL.com. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):

    CodeSignTool get_credential_ids -username = USERNAME -password = PASSWORD

    Obtenha informações de assinatura de código EV

    Use o seguinte comando para informações de certificado de assinatura de código EV vinculadas a um ID de credencial e usuário. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):

    CodeSignTool credential_info -username = USERNAME -password = PASSWORD -credential_id = CREDENTIAL-ID

    Assinar vários arquivos

    Use o seguinte comando para inscrever em lote até 100 arquivos. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):

    CodeSignTool batch_sign -username = USERNAME -password = PASSWORD -input_dir_path = / PATH / TO / CODE / FILES -output_dir_path = / PATH / TO / OUTPUT / DIRETÓRIO

    Hashes de pré-cálculo

    Use o seguinte comando para pré-calcular hashes para assinatura com o batch_sign_hash comando. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):

    CodeSignTool hash -input_dir_path = / PATH / TO / CODE / FILES

    Hashes de sinal de lote

    Use o seguinte comando para assinar em lote hashes calculados com o hash comando. Observe que você precisará de um token de acesso e OTP. (Substitua os valores em MAIÚSCULAS pelos seus valores reais):

    CodeSignTool batch_sign_hash -access_token=ACCESS-TOKEN -input_dir_path=PATH/TO/HASHES -output_dir_path=PATH/TO/OUTPUT/DIRECTORY -otp=OTP

    Assinar código com API de assinatura de código

    Você também pode usar chamadas de API para integrar a assinatura de código do eSigner em seus aplicativos e scripts. Os comandos de exemplo mostrados abaixo usam cURL, portanto, você precisará verificar se ele está disponível no seu computador antes de começar. Você também vai precisar do seu ID do cliente (também conhecido como ID do aplicativo. Por favor, consulte este tutorial para obter instruções sobre como gerar esta credencial). Se o seu aplicativo estiver marcado como confidencial, você também precisará do seu Segredo do cliente.

    Recuperar token de acesso

    A primeira etapa é recuperar um token de acesso de SSL.com. Você vai precisar do seu ID do cliente (e possivelmente o seu Segredo do cliente) disponível, bem como o nome de usuário e a senha da sua conta SSL.com. Os tokens de acesso são válidos por uma hora após sua emissão.

    1. Use o seguinte comando para solicitar um token de acesso. Substitua os valores mostrados em MAIÚSCULAS pelos seus valores reais:
      curl --location --request POST "https://login.ssl.com/oauth2/token" \ --header "Content-Type: application / json" \ --data-raw "{\" client_id \ ": \ "YOUR-CLIENT-ID \", \ "grant_type \": \ "password \", \ "username \": \ "YOUR-USERNAME \", \ "password \": \ "YOUR-PASSWORD \"} "
    2. Se o seu aplicativo estiver marcado como confidencial, adicione também a chave secreta do cliente:
      curl --location --request POST "https://login.ssl.com/oauth2/token" \ --header "Content-Type: application / json" \ --data-raw "{\" client_id \ ": \ "YOUR-CLIENT-ID \", \ "client_secret \": \ "YOUR-CLIENT-SECRET \", \ "grant_type \": \ "password \", \ "username \": \ "YOUR-USERNAME \ ", \" senha \ ": \" SUA SENHA \ "}"

       

    3. Você deve receber um objeto JSON contendo um token de acesso e um token de atualização. Copie o valor do token de acesso para colar em suas solicitações de API. Você não precisará do token de atualização para esses exemplos.

      {"access_token":"eyJraWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0IiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJTU
      0wuY29tIEF1dGhlbnRpY2F0aW9uIFNlcnZpY2UiLCJleHAiOjE2MTQ4OTcxNDIsImlhdCI6MTYxNDg5MzU0MiwianRpIjoiZmI2OTZlNDUtMTIzOS00ZGE4LW
      I1MmYtODNkZDE2MTY3ZTM3IiwidXNlciI6eyJ1c2VyX2lkIjoxMzIyODU4LCJ1c2VyX2VtYWlsIjoiYWFyb24uZS5ydXNzZWxsQGdtYWlsLmNvbSIsInNzbF9
      hY2NvdW50X2lkIjo0NzQzMDJ9LCJjbGllbnQiOnsiaWQiOiJmUE1yYUdlbXVMWGUtcG9JWUtLem1CMEYwYXlFczktUEpiN29lTWFlY2I0In19.fCKDs1igjsI
      UDG2sUN_2OTb90Jw1nKNPHcD1MyEUR6sHCv_aJmcvcaFRne_eKLHzeQ9WtT5y3Fb2ppc50kMnjPG6JgX5gnFMptMn-ySsI277CtKbkSn3u-WSDSovn51jPm82
      4wTeJmuXEzdv9clRjTwp6VoM9eqHCIaDAd3MP2xpMaa35cZbDaaAFKQ7jxWo9dUuTZY7DsKK0p1LloUEnmNxtNimQ3GDwkj_M600WB1zYrhDL9_3oZKaXcUx9
      qzHcBCLzGgeaZ0xdpZtADxmXDUCcmkZi20yQ53bxqVL2w00sJ73efKB7JGeGWVehO-ZlGs3PUQwooox1JgEgcsA","token_type":"Bearer",
      "expires_in":3599,"refresh_token":"o-3V2YD1iIVCh3iJFwFonTohlq_LbGXaJcUvy37ciYA","created_at":1614893542}%

    Recuperar ID de credencial

    Em seguida, você precisará recuperar a ID de credencial associada ao seu certificado de assinatura de código EV registrado no eSigner.

    1. Use o seguinte comando para recuperar a lista da sua conta de IDs de credenciais de assinatura de código EV. (Substitua MY-ACCESS-TOKEN pelo seu token de acesso real):
      curl --location --request POST "https://cs.ssl.com/csc/v0/credentials/list" \ --header "Content-Type: application / json" \ --header "Autorização: Bearer MY- ACESSO TOKEN "\ --data-raw" {\ "clientData \": \ "EVCS \"} "
    2. Você deve receber um objeto JSON com uma lista de IDs de credenciais associados ao usuário. Sua lista provavelmente conterá um valor. Copie e cole seu ID de credencial em um editor de texto para uso em solicitações posteriores.
      {"credentialIDs":["e4763186-5006-48de-bb15-a977e0e84281"]}%

    Enviar arquivo

    O próximo passo é fazer o upload do seu arquivo para ser assinado.

    1. Use o seguinte comando para fazer upload de um arquivo para assinatura. (Substitua os valores mostrados em MAIÚSCULAS por seus valores reais):
      curl --location --request POST "https://cds.ssl.com/v1/code/upload" \ --header "Credential-Id: MY-CREDENTIAL-ID" \ --header "Content-Type: aplicativo / exe "\ --header" Autorização: Portador MY-ACCESS-TOKEN "\ --data-binary" @ / PATH / TO / FILE "
    2. Você deve receber um objeto JSON com um id valor a ser usado na solicitação de arquivo de assinatura:
      {"id":"6035539b-4055-43f2-8749-3ad6e559b4cd"}%

    Arquivo de assinatura

    1. Agora você pode assinar o arquivo, usando o ID do arquivo obtido na solicitação anterior e um OTP do seu aplicativo 2FA. (Substitua os valores mostrados em MAIÚSCULAS por seus valores reais):
      curl --location --request POST "https://cds.ssl.com/v1/code/sign" \ --output "PATH / TO / OUTPUT / FILE" \ --header "Content-Transfer-Encoding: aplicativo / json "\ --header" Content-Type: application / json "\ --header" Autorização: Bearer MY-ACCESS-TOKEN "\ --data-raw" {\ "id \": \ "MY-FILE- ID \ ", \" otp \ ": \" MY-OTP \ "}"
    2. Você deve receber um arquivo assinado no local especificado com --output no comando acima. Verifique as propriedades do arquivo para confirmar a assinatura digital.
      Assinatura digital
    Observação: Se estiver assinando arquivos de código que serão incluídos em um instalador (como um arquivo MSI do Windows), você precisará assinar esses arquivos antes de criar o instalador e, em seguida, assinar o próprio arquivo do instalador.
    Alguns usuários do eSigner relataram problemas com assinaturas inválidas ao assinar instaladores MSI desenvolvidos com o Microsoft Visual Studio. Como alternativa, sugerimos construir seus arquivos MSI com Conjunto de ferramentas WiX. Para a conveniência dos usuários do Visual Studio, um Extensão VS do WiX Toolset está disponível.

    Assinar Hash com CSC API

    Se você estiver desenvolvendo seus próprios aplicativos para assinar o código (como SSL.com's CodeSignTool) e deseja evitar a transferência de artefatos de código pela Internet, você pode usar a API Cloud Signature Consortium (CSC) para criar uma assinatura digital a partir de um hash de arquivo.

    Recuperar token de acesso e ID de credencial

    Primeiro, siga as etapas mostradas na seção anterior para recuperar um token de acesso e ID de credencial.

    Obter autorização

    1. Use o seguinte comando para recuperar a autorização para assinar um hash. Substituir MY-ACCESS-TOKEN, MY-CREDENTIAL-IDe MY-HASH com suas informações reais. Obtenha uma senha única de seu aplicativo 2FA e use-a como o valor para MY-OTP.
      curl --location --request POST "https://cs.ssl.com/csc/v0/credentials/authorize" \ --header "Content-Type: application / json" \ --header "Autorização: Bearer MY- ACCESS-TOKEN "\ --data-raw" {\ "credentialID \": \ "MY-CREDENTIAL-ID \", \ "numSignatures \": 1, \ "hash \": [\ "MY-HASH \" ], \ "OTP \": \ "MY-OTP \"} "
    2. Você deve receber um objeto JSON com seus Dados de Ativação de Assinatura (SAD).
      {"SAD":"eyJ1c2VyX2lkIjoxMzQ4MzQyLCJleHBpcmVzX2luIjoiMjAyMS0wNS0xMiAxODo1MDo1MiswMDAwIiwiaGFzaCI6WyJzVE9nd09tKzQ3NGdGajBxM
      HgxaVNOc3BLcWJjc2U0SWVpcWxEZ1wvSFd1ST0iXSwiY3JlZGVudGlhbF9pZCI6ImJjNzE1ZWRhLWQ4MjUtNDliNy1hOGQ1LWVmZGM2ZGI1ZTZkMiJ9.QncXA
      7B+fnUgOUl+SI0FA5tX7N+iKgOA1EyHKWUwUgTLs9Ft2+O4Gk6AVBcX49IEHPsoeq88A+5QPndbc6VtA+XgdExUbWu6E9X74I2EL7Eed+nzjnbR1tPbigcZI9
      DIZFTGwBC5X8af+93oWvmd6omnHSEQpnDbhQHvm3cEZm0fGK4yX9fvxk0Y9qGpKn3xK7PmYdJuAXbyPXFm24RTNIXi4rbwOWghBytt+3WC2ptubz44+X88b19
      gRzIBPKyGdayb99/Uj8xsYh90u2HcL/+J4nKn3J40VTRHckLvoD9r6x8mC/giFXYYN7Q0SKNtrRI9N7SnTX4klPVhNxolA=="}

    Assinar Hash

    1. Digite o seguinte comando para assinar o hash. Substituir MY-ACCESS-TOKENMY-CREDENTIAL-ID, MY-SADe MY-HASH com suas informações reais:
      curl --location --request POST "https://cs.ssl.com/csc/v0/signatures/signHash" \ --header "Tipo de conteúdo: application / json" \ --header "Autorização: Bearer MY- ACCESS-TOKEN "\ --data-raw" {\ "credentialID \": \ "MY-CREDENTIAL-ID \", \ "SAD \": \ "MY-SAD \", \ "hash \": [\ "MY-HASH \"], \ "signAlgo \": \ "1.2.840.113549.1.1.11 \"} "
    2. Você deve receber um objeto JSON contendo sua assinatura.
      {"signatures":["5CJUauF4WrLs6cc0c0xIVNpaWhjDZoQeRfsKEHhjDskHOrjPoxetOkaqg2wOsIVQiWzvN1fqbO1gG4UzZjU8IctsIPHUa9jU2KyZbWqLy
      bIuUl2k1Tondtp2wNszmwki1z/P5I/ff32TQDWkDiiF+RgPApC4vU8WifTfKMR+cG+2FwtYRuthtuvLoV1dgDSNob5T5tAYlnSjsgwPe9+q/L1v9grSGzre0+
      GgQQPBvN2f1KCkJ/bwJq7votwsncdxCshmPEHyXJTx2SaL9sUHOzwSB79WhOiO8R9nnCZuC90r45f3/6NNWpaUzy3/A9DZa8aHGsaKYsFsXTDQ3HUgxY=="]}

    Tipos de arquivos suportados para assinatura de código eSigner

    Tipos de arquivo Microsoft Authenticode
    • acm
    • ax
    • caixa
    • táxi
    • cpl
    • dll
    • drv
    • efi
    • exe
    • mui
    • ocx
    • scr
    • sys
    • TSP
    Tipos de arquivo MSI
    • msi
    Tipos de arquivo de scripts do PowerShell
    • ps1
    • ps1xml
    Outros tipos de arquivo de script
    • js
    • vbs
    • wsf
    Tipos de arquivo Java
    • jarra
    Não está vendo um tipo de arquivo comum que você está tentando assinar e que deve ser compatível? Notifique nossa equipe em Support@SSL.com.

    Partilhar no Twitter
    Twitter
    Partilhar no Facebook
    Facebook
    Partilhar no LinkedIn
    LinkedIn
    Share on reddit
    Reddit
    Compartilhar no email
    Email