Partilhar via


CryptographyClientBuilder Classe

  • java.lang.Object
    • com.azure.security.keyvault.keys.cryptography.CryptographyClientBuilder

Implementações

public final class CryptographyClientBuilder
implements TokenCredentialTrait<CryptographyClientBuilder>, HttpTrait<CryptographyClientBuilder>, ConfigurationTrait<CryptographyClientBuilder>

Essa classe fornece uma API de construtor fluente para ajudar a ajudar na configuração e na instanciação do CryptographyAsyncClient e CryptographyClientdo , chamando buildAsyncClient() e buildClient() , respectivamente, ele constrói uma instância do cliente desejado.

As opções de configuração mínimas exigidas por CryptographyClientBuilder para criar um CryptographyAsyncClient ou um CryptographyClient são um TokenCredential e um JsonWebKey ou um Azure Key Vault key identifier.

Para garantir o comportamento correto ao executar operações como Decrypt, Unwrap e Verify, é recomendável usar um CryptographyAsyncClient ou CryptographyClient criado para a versão de chave específica que foi usada para a operação inversa correspondente: Encrypt, Wrapou Sign, respectivamente.

CryptographyAsyncClient cryptographyAsyncClient = new CryptographyClientBuilder()
     .keyIdentifier("<your-key-id>")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildAsyncClient();
JsonWebKey jsonWebKey = new JsonWebKey().setId("SampleJsonWebKey");
 CryptographyAsyncClient cryptographyAsyncClient = new CryptographyClientBuilder()
     .jsonWebKey(jsonWebKey)
     .buildAsyncClient();

O log detail level, vários personalizados policies e um personalizado HttpClient podem ser configurados opcionalmente no CryptographyClientBuilder.

CryptographyAsyncClient cryptographyAsyncClient = new CryptographyClientBuilder()
     .keyIdentifier("<your-key-id>")
     .credential(new DefaultAzureCredentialBuilder().build())
     .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BODY_AND_HEADERS))
     .httpClient(HttpClient.createDefault())
     .buildAsyncClient();

As opções de configuração mínimas necessárias CryptographyClientBuilder para compilar CryptographyClient são JsonWebKey ou Azure Key Vault key identifier e TokenCredential.

CryptographyClient cryptographyClient = new CryptographyClientBuilder()
     .keyIdentifier("<your-key-id>")
     .credential(new DefaultAzureCredentialBuilder().build())
     .buildClient();
JsonWebKey jsonWebKey = new JsonWebKey().setId("SampleJsonWebKey");
 CryptographyClient cryptographyClient = new CryptographyClientBuilder()
     .jsonWebKey(jsonWebKey)
     .buildClient();

Resumo do Construtor

Construtor Description
CryptographyClientBuilder()

O construtor com padrões.

Resumo do método

Modificador e tipo Método e descrição
CryptographyClientBuilder addPolicy(HttpPipelinePolicy policy)

Adiciona um HttpPipelinePolicy a ser aplicado em cada solicitação enviada.

CryptographyAsyncClient buildAsyncClient()

Cria um CryptographyAsyncClient com base nas opções definidas no construtor.

CryptographyClient buildClient()

Cria um CryptographyClient com base nas opções definidas no construtor.

CryptographyClientBuilder clientOptions(ClientOptions clientOptions)

Permite definir propriedades comuns, como ID do aplicativo, cabeçalhos, configuração de proxy etc.

CryptographyClientBuilder configuration(Configuration configuration)

Define o repositório de configuração usado durante a construção do cliente de serviço.

CryptographyClientBuilder credential(TokenCredential credential)

Define o TokenCredential usado para autorizar solicitações enviadas ao serviço.

CryptographyClientBuilder disableChallengeResourceVerification()

Desabilita a verificação se o recurso de desafio de autenticação corresponde ao Key Vault ou ao domínio HSM Gerenciado.

CryptographyClientBuilder httpClient(HttpClient client)

Define o HttpClient a ser usado para enviar e receber solicitações de e para o serviço.

CryptographyClientBuilder httpLogOptions(HttpLogOptions logOptions)

Define o HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço.

CryptographyClientBuilder jsonWebKey(JsonWebKey jsonWebKey)

Define o JsonWebKey a ser usado para operações de criptografia local.

CryptographyClientBuilder keyIdentifier(String keyId)

Define o identificador de chave Key Vault do Azure da Chave Web JSON a ser usada para operações de criptografia.

CryptographyClientBuilder pipeline(HttpPipeline pipeline)

Define o HttpPipeline a ser usado para o cliente de serviço.

CryptographyClientBuilder retryOptions(RetryOptions retryOptions)

Define o RetryOptions para todas as solicitações feitas por meio do cliente.

CryptographyClientBuilder retryPolicy(RetryPolicy retryPolicy)

Define o RetryPolicy que é usado quando cada solicitação é enviada.

CryptographyClientBuilder serviceVersion(CryptographyServiceVersion version)

Define o CryptographyServiceVersion que é usado ao fazer solicitações de API.

Métodos herdados de java.lang.Object

Detalhes do construtor

CryptographyClientBuilder

public CryptographyClientBuilder()

O construtor com padrões.

Detalhes do método

addPolicy

public CryptographyClientBuilder addPolicy(HttpPipelinePolicy policy)

Adiciona um HttpPipelinePolicy a ser aplicado em cada solicitação enviada.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

Parameters:

policy - Uma HttpPipelinePolicy.

Returns:

O objeto atualizado CryptographyClientBuilder.

buildAsyncClient

public CryptographyAsyncClient buildAsyncClient()

Cria um CryptographyAsyncClient com base nas opções definidas no construtor. Sempre que buildAsyncClient() é chamado, uma nova instância de CryptographyAsyncClient é criada.

Se jsonWebKey(JsonWebKey jsonWebKey) estiver definido, todas as outras configurações do construtor serão ignoradas.

Se pipeline(HttpPipeline pipeline) estiver definido, o pipeline e keyIdentifier(String keyId)) serão usados para criar o CryptographyAsyncClient. Todas as outras configurações do construtor são ignoradas. Se pipeline não estiver definido, um credential(TokenCredential credential) e keyIdentifier(String keyId) serão necessários para compilar o CryptographyAsyncClient.

Returns:

Um CryptographyAsyncClient com as opções definidas do construtor.

buildClient

public CryptographyClient buildClient()

Cria um CryptographyClient com base nas opções definidas no construtor. Sempre que buildClient() é chamado, uma nova instância de CryptographyClient é criada.

Se jsonWebKey(JsonWebKey jsonWebKey) estiver definido, todas as outras configurações do construtor serão ignoradas.

Se pipeline(HttpPipeline pipeline) estiver definido, o pipeline e keyIdentifier(String keyId) serão usados para criar o CryptographyClient. Todas as outras configurações do construtor são ignoradas. Se pipeline não estiver definido, um credential(TokenCredential credential) e keyIdentifier(String keyId) serão necessários para compilar o CryptographyClient.

Returns:

Um CryptographyClient com as opções definidas do construtor.

clientOptions

public CryptographyClientBuilder clientOptions(ClientOptions clientOptions)

Permite definir propriedades comuns, como ID do aplicativo, cabeçalhos, configuração de proxy etc. Observe que é recomendável que esse método seja chamado com uma instância da HttpClientOptions classe (uma subclasse da ClientOptions classe base). A subclasse HttpClientOptions fornece mais opções de configuração adequadas para clientes HTTP, que é aplicável a qualquer classe que implemente essa interface HttpTrait.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

Parameters:

clientOptions - Uma instância configurada de HttpClientOptions.

Returns:

O objeto atualizado CryptographyClientBuilder.

configuration

public CryptographyClientBuilder configuration(Configuration configuration)

Define o repositório de configuração usado durante a construção do cliente de serviço. O repositório de configuração padrão é um clone do global configuration store, usado NONE para ignorar o uso das configurações durante a construção.

Parameters:

configuration - O repositório de configuração usado para obter detalhes de configuração.

Returns:

O objeto atualizado CryptographyClientBuilder.

credential

public CryptographyClientBuilder credential(TokenCredential credential)

Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. Consulte a documentação de identidade e autenticação do SDK do Azure para Java para obter mais detalhes sobre o uso adequado do TokenCredential tipo.

Parameters:

credential - TokenCredential usado para autorizar solicitações enviadas ao serviço.

Returns:

O objeto atualizado CryptographyClientBuilder.

disableChallengeResourceVerification

public CryptographyClientBuilder disableChallengeResourceVerification()

Desabilita a verificação se o recurso de desafio de autenticação corresponde ao Key Vault ou ao domínio HSM Gerenciado. Essa verificação é executada por padrão.

Returns:

O objeto atualizado CryptographyClientBuilder.

httpClient

public CryptographyClientBuilder httpClient(HttpClient client)

Define o HttpClient a ser usado para enviar e receber solicitações de e para o serviço.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se não HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também são ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

Parameters:

client - O HttpClient a ser usado para solicitações.

Returns:

O objeto atualizado CryptographyClientBuilder.

httpLogOptions

public CryptographyClientBuilder httpLogOptions(HttpLogOptions logOptions)

Define o HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço. Se um logLevel não for fornecido, o valor padrão de HttpLogDetailLevel#NONE será definido.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se nenhum HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também serão ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

Parameters:

logOptions - O HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço.

Returns:

O objeto atualizado CryptographyClientBuilder.

jsonWebKey

public CryptographyClientBuilder jsonWebKey(JsonWebKey jsonWebKey)

Define o JsonWebKey a ser usado para operações de criptografia local.

Se jsonWebKey for fornecido, todas as outras configurações do construtor serão ignoradas.

Parameters:

jsonWebKey - A Chave Web JSON a ser usada para operações de criptografia local.

Returns:

O objeto atualizado CryptographyClientBuilder.

keyIdentifier

public CryptographyClientBuilder keyIdentifier(String keyId)

Define o identificador de chave Key Vault do Azure da Chave Web JSON a ser usada para operações de criptografia. Você deve validar se essa URL faz referência a um recurso de Key Vault ou HSM Gerenciado válido. Consulte a documentação a seguir para obter detalhes.

Para garantir o comportamento correto ao executar operações como , e , é recomendável usar um CryptographyAsyncClient ou CryptographyClient criado para a versão de chave específica que foi usada para a operação inversa correspondente:WrapEncrypt , ou Sign, respectivamente.VerifyUnwrapDecrypt

Parameters:

keyId - O identificador de chave Key Vault do Azure da Chave Web JSON armazenada no cofre de chaves.

Returns:

O objeto atualizado CryptographyClientBuilder.

pipeline

public CryptographyClientBuilder pipeline(HttpPipeline pipeline)

Define o HttpPipeline a ser usado para o cliente de serviço.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se nenhum HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também serão ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

O keyIdentifier(String keyId) não é ignorado quando pipeline é definido.

Parameters:

pipeline - HttpPipeline a ser usado para enviar solicitações de serviço e receber respostas.

Returns:

O objeto atualizado CryptographyClientBuilder.

retryOptions

public CryptographyClientBuilder retryOptions(RetryOptions retryOptions)

Define o RetryOptions para todas as solicitações feitas por meio do cliente.

Nota: É importante entender a ordem de precedência das APIs HttpTrait. Em particular, se um HttpPipeline for especificado, isso terá precedência sobre todas as outras APIs na característica e elas serão ignoradas. Se nenhum HttpPipeline for especificado, um pipeline HTTP será construído internamente com base nas configurações fornecidas a essa característica. Além disso, pode haver outras APIs em tipos que implementam essa característica que também serão ignoradas se um HttpPipeline for especificado, portanto, consulte a documentação de tipos que implementam essa característica para entender o conjunto completo de implicações.

Definir isso é mutuamente exclusivo com o uso de retryPolicy(RetryPolicy retryPolicy).

Parameters:

retryOptions - O RetryOptions a ser usado para todas as solicitações feitas por meio do cliente.

Returns:

O objeto atualizado CryptographyClientBuilder.

retryPolicy

public CryptographyClientBuilder retryPolicy(RetryPolicy retryPolicy)

Define o RetryPolicy que é usado quando cada solicitação é enviada. A política de repetição padrão será usada no pipeline, se não for fornecida. Definir isso é mutuamente exclusivo com o uso de retryOptions(RetryOptions retryOptions).

Parameters:

retryPolicy - O usuário é RetryPolicy aplicado a cada solicitação.

Returns:

O objeto atualizado CryptographyClientBuilder.

serviceVersion

public CryptographyClientBuilder serviceVersion(CryptographyServiceVersion version)

Define o CryptographyServiceVersion que é usado ao fazer solicitações de API.

Se uma versão de serviço não for fornecida, a versão do serviço que será usada será a versão de serviço conhecida mais recente com base na versão da biblioteca de clientes que está sendo usada. Se nenhuma versão de serviço for especificada, a atualização para uma versão mais recente da biblioteca de clientes terá o resultado da possível mudança para uma versão de serviço mais recente.

Parameters:

version - CryptographyServiceVersion do serviço a ser usado ao fazer solicitações.

Returns:

O objeto atualizado CryptographyClientBuilder.

Aplica-se a