

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Atributos de chave Java compatíveis com o AWS CloudHSM Client SDK 5
<a name="java-lib-attributes_5"></a>

Este tópico fornece informações sobre os atributos de chave Java compatíveis com o AWS CloudHSM Client SDK 5. Este tópico descreve como usar uma extensão proprietária para o provedor JCE para definir atributos de chave. Use essa extensão para definir atributos de chave compatíveis e seus valores durante estas operações:
+ Geração de chaves
+ Importação de chaves

Para obter exemplos de como usar os principais atributos, consulte [Exemplos de código para a biblioteca AWS CloudHSM de software para Java for Client SDK 5](java-samples.md).

**Topics**
+ [Noções básicas sobre atributos](#java-understanding-attributes_5)
+ [Atributos do compatíveis](#java-attributes_5)
+ [Definir atributos para uma chave](#java-setting-attributes_5)

## Noções básicas sobre atributos
<a name="java-understanding-attributes_5"></a>

Use atributos de chave para especificar quais ações são permitidas em objetos de chave, incluindo chaves púbicas, privadas ou secretas. Defina os atributos e valores de chave durante as operações de criação de objetos de chave. 

A Java Cryptography Extension (JCE) não especifica como você deve definir valores em atributos de chave, portanto, a maioria das ações foi permitida por padrão. Em contrapartida, o padrão PKCS \#11 define um conjunto de atributos abrangente com padrões mais restritivos. Começando com o provedor JCE 3.1, AWS CloudHSM fornece uma extensão proprietária que permite definir valores mais restritivos para atributos comumente usados. 

## Atributos do compatíveis
<a name="java-attributes_5"></a>

É possível definir valores para atributos listados na tabela abaixo. Como melhor prática, defina valores somente para os atributos que deseja tornar restritivos. Se você não especificar um valor, AWS CloudHSM usa o valor padrão especificado na tabela abaixo. Uma célula vazia nas colunas Valor padrão indica que não há nenhum valor padrão específico atribuído ao atributo.


****  
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/java-lib-attributes_5.html)

**nota**  
Você obterá maior suporte para atributos na biblioteca PKCS \#11. Para obter mais informações, consulte [Atributos PKCS \#11 compatíveis](pkcs11-attributes.md).

## Definir atributos para uma chave
<a name="java-setting-attributes_5"></a>

O `KeyAttributesMap` é um objeto semelhante ao Mapa Java, que pode ser usado para definir valores de atributos para objetos de chave. Os métodos para a função `KeyAttributesMap` funcionam de forma semelhante aos métodos usados na manipulação de mapa Java. 

Para definir valores personalizados, existem duas opções:
+ Usar os métodos listados na tabela a seguir
+ Usar padrões do construtor demonstrados posteriormente nesse documento.

Os objetos de mapa de atributos oferecem suporte para os seguintes métodos para definir atributos:


****  

| Operation | Valor de retorno | Método `KeyAttributesMap` | 
| --- | --- | --- | 
| Obter o valor de um atributo de chave para uma chave existente | Objeto (contendo o valor) ou nulo | **get**(keyAttribute) | 
| Preencher o valor de um atributo de chave  | O valor anterior associado a um atributo de chave, ou nulo se não houver mapeamento para um atributo de chave | **put**(keyAttribute, valor) | 
| Preencher valores para múltiplos atributos de chave | N/D | **putAll** () keyAttributesMap | 
| Remover um par de valor-chave do mapa de atributos | O valor anterior associado a um atributo de chave, ou *nulo* se não houver mapeamento para um atributo de chave | **remove**(keyAttribute) | 

**nota**  
Todos os atributos que você não especificar explicitamente serão definidos como os padrões listados na tabela anterior em [Atributos do compatíveis](#java-attributes_5). 

### Definir atributos para um par de chaves
<a name="java-setting-attributes-key-pair"></a>

Use a classe Java `KeyPairAttributesMap` para manipular atributos de chave para um par de chaves. O `KeyPairAttributesMap` encapsula dois objetos `KeyAttributesMap`; um para uma chave pública e outro para uma chave privada.

Para definir atributos individuais para a chave pública e privada separadamente, é possível usar o método `put()` no objeto de mapa `KeyAttributes` correspondente para essa chave. Use o método `getPublic()` para recuperar o mapa de atributos para a chave pública e use `getPrivate()` para recuperar o mapa de atributos para a chave privada. Preencha o valor de múltiplos atributos de chave para os pares de chaves públicas e privadas usando `putAll()` com um mapa de atributos de um par de chaves como argumento.