En esta página, se muestra cómo crear una clave asimétrica. Puedes usar una clave asimétrica para la encriptación o firmar.
También puedes crear una clave simétrica, una clave de Cloud HSM o una clave de Cloud External Key Manager.
Resumen
Cuando creas una clave, debes agregarla a un llavero de claves en una ubicación de Google Cloud determinada. Puedes crear un llavero de claves nuevo o usar uno existente. En este tema, crearás un llavero de claves nuevo y le agregarás una nueva.
Crea un llavero de claves
Sigue estos pasos para crear un llavero de claves nuevo. En cambio, si deseas usar un llavero de claves existente, puedes crear una clave.
IU web
Ve a la página Claves criptográficas en Cloud Console.
Haz clic en Crear llavero de claves.
En el campo Nombre del llavero de claves, ingresa el nombre de tu llavero de claves.
En el menú desplegable Ubicación del llavero de claves, selecciona una ubicación, como
"us-east1"
.Haga clic en Crear.
Línea de comandos
Para usar Cloud KMS en la línea de comandos, primero Instala o actualiza a la versión más reciente del SDK de Cloud.
gcloud kms keyrings create key-ring \ --location location
Reemplaza key-ring por un nombre para el llavero de claves. Reemplaza location por la ubicación de Cloud KMS para el llavero de claves y sus claves.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help
.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Comienza a usarlo
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings" \ --request "POST" \ --header "authorization: Bearer token" \ --header "content-type: application/json" \ --header "x-goog-user-project: project-id" \ --data "{\"name\": {\"key-ring-name\": {}}}"
Consulta la documentación sobre la API de KeyRing.create
para obtener más información.
Crear una clave de desencriptación asimétrica
Sigue estos pasos para crear una clave de desencriptación asimétrica en el llavero de claves y la ubicación especificados. En estos ejemplos, se usa un nivel de protección software
y un algoritmo rsa-decrypt-oaep-2048-sha256
Cuando creas la clave por primera vez, la versión inicial de la clave tiene un estado de generación pendiente. Cuando el estado cambia a enabled, puedes usar la clave. Para obtener más información sobre los estados de las versiones de claves, consulta Estados de las claves.
IU web
Ve a la página Claves criptográficas en Cloud Console.
Haz clic en el nombre del llavero de claves para el cual crearás una clave.
Haz clic en Crear clave.
En ¿Qué tipo de clave quieres crear?, elige Clave generada.
Ingresa el nombre en el campo Nombre de la clave.
Haz clic en el menú desplegable Nivel de protección y selecciona Software.
Haz clic en el menú desplegable Propósito y selecciona Desencriptación asimétrica.
Haz clic en el menú desplegable Algoritmo y selecciona 2048 bits RSA - OAEP Padding - Resumen de SHA256. Puedes cambiar este valor en versiones futuras de la clave.
Haga clic en Crear.
Línea de comandos
Para usar Cloud KMS en la línea de comandos, primero Instala o actualiza a la versión más reciente del SDK de Cloud.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-encryption" \ --default-algorithm "rsa-decrypt-oaep-2048-sha256"
Reemplaza key por un nombre para la clave nueva. Reemplaza key-ring por el nombre del llavero de claves existente donde se ubicará la clave. Reemplaza location por la ubicación de Cloud KMS para el llavero de claves.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help
.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Comienza a usarlo
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
Llama a CryptoKey.create
para crear una clave de desencriptación asimétrica.
Crear una clave de firma asimétrica
Sigue estos pasos para crear una clave de firma asimétrica en el llavero de claves y la ubicación especificados. En estos ejemplos, se usa un nivel de protección software
y un algoritmo rsa-sign-pkcs1-2048-sha256
Cuando creas la clave por primera vez, la versión inicial de la clave tiene un estado de generación pendiente. Cuando el estado cambia a enabled, puedes usar la clave. Para obtener más información sobre los estados de las versiones de claves, consulta Estados de las claves.
IU web
Ve a la página Claves criptográficas en Cloud Console.
Haz clic en el nombre del llavero de claves para el cual crearás una clave.
Haz clic en Crear clave.
En ¿Qué tipo de clave quieres crear?, elige Clave generada.
Ingresa el nombre en el campo Nombre de la clave.
Haz clic en el menú desplegable Nivel de protección y selecciona Software.
Haz clic en el menú desplegable Propósito y selecciona Firma asimétrica.
Haz clic en el menú desplegable Algoritmo y selecciona 2048 bits RSA - PKCS#1 v1.5 padding: SHA256 Resumen. Puedes cambiar este valor en versiones futuras de la clave.
Haga clic en Crear.
Línea de comandos
Para usar Cloud KMS en la línea de comandos, primero Instala o actualiza a la versión más reciente del SDK de Cloud.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "asymmetric-signing" \ --default-algorithm "rsa-sign-pkcs1-2048-sha256"
Reemplaza key por un nombre para la clave. Reemplaza key-ring por el nombre del llavero de claves existente donde se ubicará la clave. Reemplaza location por la ubicación de Cloud KMS para el llavero de claves.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help
.
C#
Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.
Comienza a usarlo
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
Llama a CryptoKey.create
para crear una clave de firma asimétrica.
Controla el acceso a claves asimétricas
Un firmante o validador requiere el permiso o función adecuados para la clave asimétrica.
Para un usuario o servicio que realizará la firma, otorga el permiso
cloudkms.cryptoKeyVersions.useToSign
sobre la clave asimétrica.Para un usuario o servicio que recuperará la clave pública, otorga el permiso
cloudkms.cryptoKeyVersions.viewPublicKey
sobre la clave asimétrica. Para la validación de la firma se necesita la clave pública.
Para conocer más sobre los permisos y las funciones en esta versión de Cloud KMS, sigue este vínculo.
¿Qué sigue?
- Más información sobre la creación y validación de firmas
- Más información sobre la encriptación y desencriptación de datos con una clave de RSA.
- Más información sobre la recuperación de una clave pública.