

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configura la AWS CloudHSM `CloudHsmProvider` classe usando il codice
<a name="java-lib-configs-using-code"></a>

A partire dalla versione 5.8.0 di Client SDK, puoi anche configurare la AWS CloudHSM `CloudHsmProvider` classe utilizzando il codice Java. Il modo per farlo è usare un oggetto di classe `CloudHsmProviderConfig`. È possibile creare l'oggetto utilizzando `CloudHsmProviderConfigBuilder`. 

`CloudHsmProvider` ha un altro costruttore che accetta l'oggetto `CloudHsmProviderConfig`, come mostra l'esempio seguente.

**Example**  

```
CloudHsmProviderConfig config = CloudHsmProviderConfig.builder()  
                                    .withCluster(  
                                        CloudHsmCluster.builder()  
                                            .withHsmCAFilePath(hsmCAFilePath)
                                            .withClusterUniqueIdentifier("CloudHsmCluster1")
        .withServer(CloudHsmServer.builder().withHostIP(hostName).build())  
                        .build())  
        .build();
CloudHsmProvider provider = new CloudHsmProvider(config);
```

In questo esempio, il nome del provider JCE è. `CloudHsmCluster1` Questo è il nome che l'applicazione può quindi utilizzare per interagire con JCE:

**Example**  

```
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", "CloudHsmCluster1");
```

In alternativa, le applicazioni possono anche utilizzare l'oggetto provider creato sopra per far sapere a JCE di utilizzare quel provider per l'operazione:

```
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding", provider);
```

Se con il metodo `withClusterUniqueIdentifier` non viene specificato un identificatore univoco, viene creato automaticamente un nome casuale. Per ottenere questo identificatore casuale, le applicazioni possono chiamare `provider.getName()` per ottenere l'identificatore.