你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
CryptographyClient 类
使用 Azure 密钥保管库密钥执行加密操作。
当使用必要的密钥材料进行初始化或能够从密钥保管库获取该材料时,此客户端将在本地执行操作。 当所需的密钥材料不可用时,加密操作由密钥保管库服务执行。
- 继承
-
azure.keyvault.keys._shared.client_base.KeyVaultClientBaseCryptographyClient
构造函数
CryptographyClient(key: KeyVaultKey | str, credential: TokenCredential, **kwargs)
参数
- api_version
- ApiVersion
要使用的服务 API 的版本。 默认为最新的 。
- verify_challenge_resource
- bool
验证身份验证质询资源是否与密钥保管库或托管 HSM 域匹配。 默认为 True。
方法
close |
关闭客户端打开的套接字。 使用客户端作为上下文管理器时,不需要调用此方法。 |
decrypt |
使用客户端密钥解密单个加密数据块。 需要 keys/decrypt 权限。 此方法仅解密单个数据块,其大小取决于密钥和加密算法。 |
encrypt |
使用客户端密钥加密字节。 需要 keys/encrypt 权限。 此方法仅加密单个数据块,其大小取决于密钥和加密算法。 |
from_jwk |
创建只能在本地执行加密操作的客户端。 |
send_request |
使用客户端的现有管道运行网络请求。 请求 URL 可以相对于保管库 URL。 除非另行指定,否则用于请求的服务 API 版本与客户端的版本相同。 如果响应是错误,则此方法不会引发;若要引发异常,请对返回的响应对象调用 raise_for_status () 。 有关如何使用此方法发送自定义请求的详细信息,请参阅 https://aka.ms/azsdk/dpcodegen/python/send_request。 |
sign |
使用客户端密钥从摘要创建签名。 需要 keys/sign 权限。 |
unwrap_key |
解包以前用客户端密钥包装的密钥。 需要 keys/unwrapKey 权限。 |
verify |
使用客户端密钥验证签名。 需要 keys/verify 权限。 |
wrap_key |
使用客户端的密钥包装密钥。 需要 keys/wrapKey 权限。 |
close
关闭客户端打开的套接字。
使用客户端作为上下文管理器时,不需要调用此方法。
close() -> None
decrypt
使用客户端密钥解密单个加密数据块。
需要 keys/decrypt 权限。 此方法仅解密单个数据块,其大小取决于密钥和加密算法。
decrypt(algorithm: EncryptionAlgorithm, ciphertext: bytes, **kwargs) -> DecryptResult
参数
- ciphertext
- bytes
要解密的加密字节。 Microsoft 建议不要在不首先使用(例如 HMAC)确保密码文本的完整性的情况下使用 CBC。 有关详细信息,请参阅https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode。
返回类型
例外
如果提供了与指定算法不兼容的参数。
encrypt
使用客户端密钥加密字节。
需要 keys/encrypt 权限。 此方法仅加密单个数据块,其大小取决于密钥和加密算法。
encrypt(algorithm: EncryptionAlgorithm, plaintext: bytes, **kwargs) -> EncryptResult
参数
初始化向量。 仅 AES-CBC (PAD) 加密是必需的。 如果通过自己的 IV,请确保使用加密随机、非重复的 IV。 如果省略,将尝试通过 os.urandom 生成 IV,用于本地加密;对于远程加密,密钥保管库将生成 IV。
返回类型
例外
如果提供了与指定算法不兼容的参数,或者如果在当前平台上生成 IV 失败,则为 。
from_jwk
创建只能在本地执行加密操作的客户端。
from_jwk(jwk: JsonWebKey | Dict[str, Any]) -> CryptographyClient
参数
返回类型
send_request
使用客户端的现有管道运行网络请求。
请求 URL 可以相对于保管库 URL。 除非另行指定,否则用于请求的服务 API 版本与客户端的版本相同。 如果响应是错误,则此方法不会引发;若要引发异常,请对返回的响应对象调用 raise_for_status () 。 有关如何使用此方法发送自定义请求的详细信息,请参阅 https://aka.ms/azsdk/dpcodegen/python/send_request。
send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse
参数
- stream
- bool
是否对响应有效负载进行流式处理。 默认为 False。
返回
网络呼叫的响应。 不对响应执行错误处理。
返回类型
sign
使用客户端密钥从摘要创建签名。
需要 keys/sign 权限。
sign(algorithm: SignatureAlgorithm, digest: bytes, **kwargs) -> SignResult
参数
返回类型
unwrap_key
解包以前用客户端密钥包装的密钥。
需要 keys/unwrapKey 权限。
unwrap_key(algorithm: KeyWrapAlgorithm, encrypted_key: bytes, **kwargs) -> UnwrapResult
参数
返回类型
verify
使用客户端密钥验证签名。
需要 keys/verify 权限。
verify(algorithm: SignatureAlgorithm, digest: bytes, signature: bytes, **kwargs) -> VerifyResult
参数
返回类型
wrap_key
使用客户端的密钥包装密钥。
需要 keys/wrapKey 权限。
wrap_key(algorithm: KeyWrapAlgorithm, key: bytes, **kwargs) -> WrapResult