Formattazione delle chiavi per l'importazione

Questo argomento descrive come formattare le chiavi in modo che possano essere importate da Cloud KMS come nuove versioni della chiave.

Il formato corretto per il materiale della chiave varia a seconda che si tratti o meno della chiave. viene importato in una chiave simmetrica o asimmetrica. Per per ulteriori informazioni sulla differenza tra chiavi simmetriche e asimmetriche, consulta Scopi e algoritmi principali.

Formati delle chiavi supportati

  • Le chiavi simmetriche per la crittografia devono essere di 16 byte (solo per la crittografia simmetrica non elaborata) o di 32 byte di dati binari; e non deve essere codificato. Se la chiave è codificata in esadecimale o in base64, devi decodificarla prima di tentare di importarla.

  • Le chiavi simmetriche per la firma (chiavi MAC) devono avere una lunghezza uguale a quella dell'output lunghezza della funzione hash crittografica utilizzata (ad es. chiavi HMAC-SHA256) deve avere una lunghezza di 32 byte) e non deve essere codificato. Se il token è con codifica esadecimale o base64, devi decodificarla prima di tentare di importare li annotino.

  • Le chiavi asimmetriche per la crittografia o la firma devono essere nel formato PKCS #8 e deve essere codificato DER. Il formato PCKS #8 è definito in RFC 5208. La codifica DER è definiti in International Telecommunications Union X.680. Le chiavi asimmetriche devono utilizzare uno dei seguenti elementi combinazioni lunghezza e algoritmo supportate da di Cloud KMS.

di Gemini Advanced.

Alcuni aspetti di una chiave, come la sua lunghezza, non possono essere modificati dopo la chiave viene creato. In questi casi, la chiave non può essere importata in Cloud KMS.

Controllo di una chiave simmetrica

Utilizza il comando wc per verificare la lunghezza di una chiave simmetrica.

wc -c /path/to/unwrapped-key
  • Non puoi importare una chiave di crittografia simmetrica di lunghezza diversa da 32.

  • Le chiavi di firma simmetriche (chiavi MAC) devono avere una lunghezza uguale a quella dell'output lunghezza della funzione hash crittografica utilizzata (ad es. chiavi HMAC-SHA256) deve avere una lunghezza di 32 byte).

Usa il comando file per verificare il formato di una chiave.

file /path/to/unwrapped-key
  • Se l'output è data, la chiave è nel formato corretto per l'importazione.

  • Se l'output è ASCII text, utilizza il comando cat per visualizzare il contenuto del file.

    • Se è una stringa di lettere e numeri che termina con il simbolo =, potrebbe con codifica Base64. Utilizza il comando base64 (Base64.exe su Windows) per la decodificano. Di seguito è riportato un esempio di chiave codificata in base64:

      THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
      
    • Se contiene una o più righe di numeri esadecimali, potrebbero essere con codifica esadecimale. Usa il comando xxd (o Format-Hex Comando PowerShell su Windows) per decodificarlo. Di seguito è riportato un esempio di codifica esadecimale chiave:

      00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af  L|..6.......y=Y.
      00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776  ...]...).~.s.#.v
      
    • Se contiene altro testo, potrebbe non essere una chiave simmetrica valida.

Formattazione delle chiavi asimmetriche

È possibile importare chiavi asimmetriche che utilizzano uno degli algoritmi supportati. In pratica, è difficile determinare retroattivamente utilizzato per creare una chiave asimmetrica. Per questo motivo, ti consigliamo di esegui i seguenti comandi su ogni chiave asimmetrica prima di tentare importarlo in Cloud KMS.

  1. Usa il comando file per verificare il formato di una chiave.

    file /path/to/unwrapped-key
    
    • Se l'output è PEM, la chiave è in formato PEM. Se è ASCII text, è probabilmente in formato PEM. In ogni caso, esegui questo comando per convertirlo nel formato DER PCKS#8:

      openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \
          -in /path/to/asymmetric-key-pem \
          -out /path/to/formatted-key
      
    • Se l'output è data, è probabile che la chiave sia in formato DER, ma potrebbe non essere nel formato PKCS #8. Esegui il comando seguente per assicurarti che la chiave sia nel formato corretto. Il comando non ha effetto se la chiave è già nel formato corretto. In questo caso, puoi utilizzare diff per verificare che i file di input e output siano identici.

      openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \
          -in /path/to/asymmetric-key-der \
          -out /path/to/formatted-key
      

Risoluzione dei problemi

Se esegui i comandi riportati sopra e ritieni che la chiave si trovi in una posizione ma l'importazione continua a non riuscire, verifica la presenza di errori nella console Google Cloud e quindi consulta la sezione Risoluzione dei problemi non riuscita importazioni.

Passaggi successivi