CryptographyClientBuilder Classe
- java.
lang. Object - com.
azure. security. keyvault. keys. cryptography. CryptographyClientBuilder
- com.
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
, Wrap
ou 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 |
---|---|
Cryptography |
addPolicy(HttpPipelinePolicy policy)
Adiciona um HttpPipelinePolicy a ser aplicado em cada solicitação enviada. |
Cryptography |
buildAsyncClient()
Cria um CryptographyAsyncClient com base nas opções definidas no construtor. |
Cryptography |
buildClient()
Cria um CryptographyClient com base nas opções definidas no construtor. |
Cryptography |
clientOptions(ClientOptions clientOptions)
Permite definir propriedades comuns, como ID do aplicativo, cabeçalhos, configuração de proxy etc. |
Cryptography |
configuration(Configuration configuration)
Define o repositório de configuração usado durante a construção do cliente de serviço. |
Cryptography |
credential(TokenCredential credential)
Define o TokenCredential usado para autorizar solicitações enviadas ao serviço. |
Cryptography |
disableChallengeResourceVerification()
Desabilita a verificação se o recurso de desafio de autenticação corresponde ao Key Vault ou ao domínio HSM Gerenciado. |
Cryptography |
httpClient(HttpClient client)
Define o HttpClient a ser usado para enviar e receber solicitações de e para o serviço. |
Cryptography |
httpLogOptions(HttpLogOptions logOptions)
Define o HttpLogOptions a ser usado ao enviar e receber solicitações de e para o serviço. |
Cryptography |
jsonWebKey(JsonWebKey jsonWebKey)
Define o JsonWebKey a ser usado para operações de criptografia local. |
Cryptography |
keyIdentifier(String keyId)
Define o identificador de chave Key Vault do Azure da Chave Web JSON a ser usada para operações de criptografia. |
Cryptography |
pipeline(HttpPipeline pipeline)
Define o HttpPipeline a ser usado para o cliente de serviço. |
Cryptography |
retryOptions(RetryOptions retryOptions)
Define o RetryOptions para todas as solicitações feitas por meio do cliente. |
Cryptography |
retryPolicy(RetryPolicy retryPolicy)
Define o RetryPolicy que é usado quando cada solicitação é enviada. |
Cryptography |
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:
Returns:
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:
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:
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:
Returns:
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:
Returns:
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:
Returns:
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:
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:
Returns:
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:
Returns:
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:
Returns:
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:Wrap
Encrypt
, ou Sign
, respectivamente.Verify
Unwrap
Decrypt
Parameters:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
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:
Returns:
Aplica-se a
Azure SDK for Java