AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1091363
Accepted
Peter Kahn
Peter Kahn
Asked: 2022-01-28 07:12:06 +0800 CST2022-01-28 07:12:06 +0800 CST 2022-01-28 07:12:06 +0800 CST

O Windows não cria um "Contêiner de Chave" atribuído ao adicionar o certificado vinculado ao Cavium (AWS CloudHSMv2)

  • 772

Eu tenho dois sistemas Windows vinculados ao AWS CloudHSM v2 (o cavium HSM). Em um, gerei o CSR e aceitei/adicionei o certificado adquirido com esse CSR. Eu posso assinar e a chave privada é extraída corretamente do HSM por meio do Key Container.

A outra assinatura é o meu sistema de assinatura de produção e está funcionando corretamente com o certificado existente, mas quando tento adicionar o novo certificado, não Key Containerestá configurado. Estou acostumado a precisar executar o processo de reparo, mas neste caso não tenho ID para fornecer o arquivo.

  1. Autenticar"\Program Files\Amazon\CloudHSM\tools\set_cloudhsm_credentials.exe" --user REDACTED --password "..."
  2. Adicione o certificadocertutil -addstore my my-new-cert.crt
  3. Despejar os detalhes da lojacertutil -store my > cert_store_details.txt
    Serial Number: REDACTED
    Issuer: CN=DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1, O=DigiCert, Inc., C=US
     NotBefore: 1/25/2022 12:00 AM
     NotAfter: 1/25/2023 11:59 PM
    Subject: CN=REDACTED, C=US, SERIALNUMBER=REDACTED, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US, OID.2.5.4.15=Private Organization
    Non-root Certificate
    Cert Hash(sha1): REDACTED
    No key provider information
    Cannot find the certificate and private key for decryption.

Normalmente, eu criaria um repair.txt assim com Key Containerid entre o =e &no no Containerentanto, não tenho um desses, então estou sem sorte

        [Properties]
        11 = "" ; Add friendly name property
        2 = "{text}" ; Add Key Provider Information property
        _continue_="Container=&"
        _continue_="Provider=Cavium Key Storage Provider&"
        _continue_="Flags=0&"
        _continue_="KeySpec=2"    

Se eu apenas executar um reparo , será certutil -repairstore my "REDACTED"solicitado um cartão inteligente. Ah, e esta máquina é um Windows Core 2016 (portanto, não há interface do usuário ou interface do usuário limitada).

windows security certificate pki
  • 1 1 respostas
  • 160 Views

1 respostas

  • Voted
  1. Best Answer
    Peter Kahn
    2022-01-29T12:24:48+08:002022-01-29T12:24:48+08:00

    Ok, aqui está a resposta do suporte da AWS - espero que eles a adicionem aos seus documentos

    1. Determine os identificadores de arquivo do CloudHSM para chave privada e pública (você pode fazer isso despejando o módulo do certificado e usando as ferramentas hsm para procurar a chave. No entanto, relatei os identificadores antes de gerar meu CSR e depois para poder adicioná-los à minha documentação segura - então não precisei fazer isso

    2. Criar um contêiner KSP

    C:\Program Files\Amazon\CloudHSM>import_key.exe -from HSM 
      -privateKeyHandle <private key handle> -publicKeyHandle <public key handle>
    

    Isso deve resultar em algo semelhante a: "Representou 1 pares de chaves no Cavium Key Storage Provider".

    Se você receber uma mensagem de erro "n3fips_password is not set", certifique-se de definir as credenciais de login para o HSM em seu sistema conforme detalhado em [4] abaixo.

    1. Execute o seguinte comando para verificar se o novo contêiner de chaves está em seu provedor de armazenamento de chaves:
    C:\Program Files\Amazon\CloudHSM>certutil -key -csp "Cavium Key Storage provider"
    

    "Cavius ​​Key Storage Provider" pode não ser o nome dado ao seu contêiner de chaves. Esse nome é recuperado da saída gerada na primeira etapa.

    Se o contêiner foi criado com sucesso, a saída deve ser semelhante à seguinte:

    Cavium Key Storage provider:
      <key container name>
      RSA
    
    
    CertUtil: -key command completed successfully.
    
    1. Crie um repair.txt para que possamos atualizar o armazenamento de certificados para usar o contêiner
    [Properties]
    11 = "" ; Add friendly name property
    2 = "{text}" ; Add Key Provider Information property
    _continue_="Container=<key container name>&"
    _continue_="Provider=Cavium Key Storage Provider&"
    _continue_="Flags=0&"
    _continue_="KeySpec=2"
    
    1. Certifique-se de que o daemon do CloudHSM Client ainda esteja em execução e use o certutil verb -repairstorepara atualizar o número de série do certificado. Este comando seria algo semelhante ao seguinte:
    certutil -repairstore my <certificate serial number> repair.txt
    
    1. Após reparar o armazenamento de certificados, execute o seguinte comando para verificar se o certificado foi associado corretamente ao novo contêiner de chaves com êxito:
    certutil -store my
    

    Você vai esperar algo assim

    ================ Certificate 0 ================
    Serial Number: <certificate serial number>
    Issuer: CN=MYRootCA
     NotBefore: 2/5/2020 1:38 PM
     NotAfter: 2/5/2021 1:48 PM
    Subject: CN=www.mydomain.com, OU=Certificate Management, O=Information Technology, L=Houston, S=Texas, C=US
    Non-root Certificate
    Cert Hash(sha1): 5a...24
      Key Container = CNGRSAPriv-...d
      Provider = Cavium Key Storage Provider
    Private key is NOT exportable
    Encryption test passed
    CertUtil: -store command completed successfully.
    

    Se Key Container = CNGRSAPriv-...dmostrar o contêiner adequado, você saberá que o relacionamento cert KSP é bom

    Se você vir Private key is NOT exportablee Encryption test passedsouber que está usando os identificadores de arquivo corretos.

    Se você usar o signtool, precisará adicionar /smpara forçá-lo a usar o armazenamento da máquina e não o armazenamento do usuário, pois o processo acima gera o contêiner vinculado ao armazenamento da máquina. Não há opção em torno disso.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve