# Luna Cloud HSM

{% hint style="info" %}
Para probar o comprar la solución acceda a: [Luna Cloud HSM](https://cpl.thalesgroup.com/encryption/data-protection-on-demand/services/luna-cloud-hsm).
{% endhint %}

## Descarga del cliente

1. Acceda al panel de servicios en Luna Cloud.\ <br>
2. Al acceder al sitio o DPoD, en Services > Add Service, agregue el `Luna Cloud HSM` o `Luna Cloud HSM for Java Code Signer`.\ <br>
3. En Services > View Services, haga clic en el servicio creado y agregue un *cliente* haciendo clic en Create Service Client.\ <br>
4. Al finalizar, aparecerá un pop-up con la opción de descarga del *cliente* en el formato `.zip`, realice la descarga.\ <br>
5. Envíe el archivo `.zip` al servidor en el que el *cliente* será instalado.

## Instalación del cliente en el servidor

1. Cree una carpeta en `usr` y descomprima el archivo `.zip`:

   ```sh
   cdir -p /usr/safenet/lunaclient
   unzip setup-rangerkms1.zip -d /usr/safenet/lunaclient
   cd /usr/safenet/lunaclient
   ```
2. Por defecto, el *cliente* viene con archivos de Windows. Elimine los siguientes archivos:

   ```sh
   rm -f lch-support-win-64bit.exe
   rm -f cvclient-min.zip
   ```
3. Descomprima el archivo `.tar` con el *cliente* para Linux en la misma carpeta del paso anterior:

   ```sh
   tar -xvf cvclient-min.tar
   ```
4. Configure las variables de entorno ejecutando el script `setenv` de la siguiente forma:

   ```sh
   source ./setenv
   ```
5. Para mejor gestión, agregue los siguientes comandos en el `~/.bashrc`:

   ```sh
   cd /usr/safenet/lunaclient/
   source setenv
   cd ~/

   export PATH=$PATH:/usr/safenet/lunaclient/bin/64/
   ```

## Inicialización de la partición

1. Ejecute el `lunacm`:

   ```sh
   ./bin/64/lunacm
   ```

   Salida:

   ```
   lunacm (64-bit) v10.5.0-470. Copyright (c) 2022 SafeNet. All rights reserved.

        HSMs disponibles:

        Slot Id ->              3
        Etiqueta ->
        Número de serie ->      1334054181693
        Modelo ->               Cryptovisor7
        Versión de firmware ->  7.3.0
        Versión de firmware CV -> 2.0.0
        Versión del plugin ->   Cloud 2.2.0-740
        Configuración ->        Luna User Partition With SO (PW) SigningWith    Cloning Mode
        Descripción del slot ->  Net Token Slot
        Estado HW FM ->         FM Not Supported

        Slot actual Id: 3

   lunacm:>
   ```
2. Configure el *slot* activo para la partición del Luna Cloud que será creada:

   Para listar el *slot*:

   ```sh
   slot list
   ```

   Para configurar el *slot*:

   ```sh
   slot set -slot <slotnum>
   ```

   Salida:

   ```
   slot set -slot 3

        Slot actual Id:  3  (Luna User Slot 7.3.0 (PW) Signing With Cloning Mode)

   Command Result : No Error

   lunacm:>
   ```
3. Inicialice el servicio de partición:

   ```sh
   partition init -label <par_label>
   ```

   Durante el *wizard*, proporcione la siguiente información cuando se le solicite:

   * *Enter password for Partition SO*: `Griaule.123`
   * *Enter the domain name*: `localhost`\ <br>

   Salida:

   ```
   lunacm:>partition init -label rangerkms1

        You are about to initialize the partition.

        Are you sure you wish to continue?

        Type 'proceed' to continue, or 'quit' to quit now -> proceed

        Enter password for Partition SO: ***********

        Re-enter password for Partition SO: ***********

        Neither option -domain nor -defaultdomain nor -importpeddomain was specified. One is required.

        Enter the domain name: *********

        Re-enter the domain name: *********

   Command Result : No Error

   lunacm:>
   ```
4. Realice el *inicio de sesión* con el *security officer* (po):

   ```sh
   role login -name partition so
   ```

   Salida:

   ```
   lunacm:>role login -name partition so

        ingrese la contraseña: ***********

   Command Result : No Error

   lunacm:>
   ```
5. Inicialice el *crypto officer* (co) y configure la contraseña inicial:

   ```sh
   role init -name crypto officer
   ```

   Salida:

   ```
   lunacm:>role init -name crypto officer

        enter new password: ***********

        re-enter new password: ***********

   Command Result : No Error
   ```
6. Haga el *logout* y *inicio de sesión* nuevamente:

   ```sh
   role logout
   role login -n crypto officer
   ```

   Salida:

   ```
   lunacm:>role logout

   Command Result : No Error

   lunacm:>role login -n crypto officer

        ingrese la contraseña: ***********

   Command Result : No Error

   lunacm:>
   ```
7. A continuación, es necesario cambiar la contraseña del *crypto officer* en el procedimiento de *setup*. De lo contrario, puede dar error o el cliente no funcionará correctamente:

   ```sh
   role changepw -name crypto officer
   ```

{% hint style="info" %}
TIP La contraseña puede ser cambiada por la misma, si es necesario.
{% endhint %}

8. Inicialice el *crypto user*, ejecutando el siguiente comando:

   ```sh
   role init -name crypto user
   ```
9. Salga del `lunacm` presionando `Ctrl + C`.\ <br>
10. Para asegurarse de que todo funciona correctamente, ejecute el siguiente *script*:

    ```sh
    ./lch-support-linux-64bit
    ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/gbs/es/herramientas-auxiliares/lunacloudhsm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
