Bagikan melalui


CryptographyClient Kelas

Melakukan operasi kriptografi menggunakan kunci Azure Key Vault.

Klien ini akan melakukan operasi secara lokal ketika diinisialisasi dengan bahan kunci yang diperlukan atau mampu mendapatkan materi tersebut dari Key Vault. Ketika materi kunci yang diperlukan tidak tersedia, operasi kriptografi dilakukan oleh layanan Key Vault.

Warisan
azure.keyvault.keys._shared.client_base.KeyVaultClientBase
CryptographyClient

Konstruktor

CryptographyClient(key: KeyVaultKey | str, credential: TokenCredential, **kwargs)

Parameter

key
KeyVaultKey
Diperlukan

Baik instans seperti yang KeyVaultKey dikembalikan oleh get_key, atau string. Jika string, nilai harus menjadi pengidentifikasi kunci Azure Key Vault. Menyertakan versi disarankan.

credential
TokenCredential
Diperlukan

Objek yang dapat menyediakan token akses untuk vault, seperti kredensial dari identity

api_version
ApiVersion

Versi API layanan yang akan digunakan. Default ke yang terbaru.

verify_challenge_resource
bool

Apakah memverifikasi sumber daya tantangan autentikasi cocok dengan domain Key Vault atau HSM Terkelola. Default ke True.

Metode

close

Tutup soket yang dibuka oleh klien.

Memanggil metode ini tidak perlu saat menggunakan klien sebagai manajer konteks.

decrypt

Dekripsi satu blok data terenkripsi menggunakan kunci klien.

Memerlukan izin kunci/dekripsi. Metode ini hanya mendekripsi satu blok data, yang ukurannya tergantung pada algoritma kunci dan enkripsi.

encrypt

Enkripsi byte menggunakan kunci klien.

Memerlukan izin kunci/enkripsi. Metode ini hanya mengenkripsi satu blok data, yang ukurannya tergantung pada algoritma kunci dan enkripsi.

from_jwk

Membuat klien yang hanya dapat melakukan operasi kriptografi secara lokal.

send_request

Menjalankan permintaan jaringan menggunakan alur klien yang ada.

URL permintaan dapat relatif terhadap URL vault. Versi API layanan yang digunakan untuk permintaan sama dengan klien kecuali ditentukan lain. Metode ini tidak menaikkan jika respons adalah kesalahan; untuk menaikkan pengecualian, panggil raise_for_status() pada objek respons yang dikembalikan. Untuk informasi selengkapnya tentang cara mengirim permintaan kustom dengan metode ini, lihat https://aka.ms/azsdk/dpcodegen/python/send_request.

sign

Buat tanda tangan dari hash menggunakan kunci klien.

Memerlukan izin kunci/tanda tangan.

unwrap_key

Buka bungkus kunci yang sebelumnya dibungkus dengan kunci klien.

Memerlukan izin kunci/unwrapKey.

verify

Verifikasi tanda tangan menggunakan kunci klien.

Memerlukan izin kunci/verifikasi.

wrap_key

Bungkus kunci dengan kunci klien.

Memerlukan izin kunci/wrapKey.

close

Tutup soket yang dibuka oleh klien.

Memanggil metode ini tidak perlu saat menggunakan klien sebagai manajer konteks.

close() -> None

decrypt

Dekripsi satu blok data terenkripsi menggunakan kunci klien.

Memerlukan izin kunci/dekripsi. Metode ini hanya mendekripsi satu blok data, yang ukurannya tergantung pada algoritma kunci dan enkripsi.

decrypt(algorithm: EncryptionAlgorithm, ciphertext: bytes, **kwargs) -> DecryptResult

Parameter

algorithm
EncryptionAlgorithm
Diperlukan

Algoritma enkripsi untuk digunakan

ciphertext
bytes
Diperlukan

Byte terenkripsi untuk didekripsi. Microsoft menyarankan Agar Anda tidak menggunakan CBC tanpa terlebih dahulu memastikan integritas ciphertext menggunakan, misalnya, HMAC. Lihat https://docs.microsoft.com/dotnet/standard/security/vulnerabilities-cbc-mode untuk informasi lebih lanjut.

iv
bytes atau None

Vektor inisialisasi yang digunakan selama enkripsi. Diperlukan untuk dekripsi AES.

authentication_tag
bytes atau None

Tag autentikasi yang dihasilkan selama enkripsi. Diperlukan hanya untuk dekripsi AES-GCM.

additional_authenticated_data
bytes atau None

Data opsional yang diautentikasi tetapi tidak dienkripsi. Untuk digunakan dengan dekripsi AES-GCM.

Tipe hasil

Pengecualian

Jika parameter yang tidak kompatibel dengan algoritma yang ditentukan disediakan.

encrypt

Enkripsi byte menggunakan kunci klien.

Memerlukan izin kunci/enkripsi. Metode ini hanya mengenkripsi satu blok data, yang ukurannya tergantung pada algoritma kunci dan enkripsi.

encrypt(algorithm: EncryptionAlgorithm, plaintext: bytes, **kwargs) -> EncryptResult

Parameter

algorithm
EncryptionAlgorithm
Diperlukan

Algoritma enkripsi untuk digunakan

plaintext
bytes
Diperlukan

Byte untuk mengenkripsi

iv
bytes atau None

Vektor inisialisasi. Diperlukan hanya untuk enkripsi AES-CBC(PAD). Jika Anda melewati IV Anda sendiri, pastikan Anda menggunakan IV acak dan tidak berulang secara kriptografis. Jika dihilangkan, upaya akan dilakukan untuk menghasilkan IV melalui os.urandom untuk kriptografi lokal; untuk kriptografi jarak jauh, Key Vault akan menghasilkan IV.

additional_authenticated_data
bytes atau None

Data opsional yang diautentikasi tetapi tidak dienkripsi. Untuk digunakan dengan enkripsi AES-GCM.

Tipe hasil

Pengecualian

jika parameter yang tidak kompatibel dengan algoritma yang ditentukan disediakan, atau jika pembuatan IV gagal pada platform saat ini.

from_jwk

Membuat klien yang hanya dapat melakukan operasi kriptografi secara lokal.

from_jwk(jwk: JsonWebKey | Dict[str, Any]) -> CryptographyClient

Parameter

jwk
JsonWebKey atau Dict[str, Any]
Diperlukan

materi kriptografi kunci, sebagai JsonWebKey atau kamus.

Tipe hasil

send_request

Menjalankan permintaan jaringan menggunakan alur klien yang ada.

URL permintaan dapat relatif terhadap URL vault. Versi API layanan yang digunakan untuk permintaan sama dengan klien kecuali ditentukan lain. Metode ini tidak menaikkan jika respons adalah kesalahan; untuk menaikkan pengecualian, panggil raise_for_status() pada objek respons yang dikembalikan. Untuk informasi selengkapnya tentang cara mengirim permintaan kustom dengan metode ini, lihat https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

Parameter

request
HttpRequest
Diperlukan

Permintaan jaringan yang ingin Anda buat.

stream
bool

Apakah payload respons akan dialirkan. Default ke False.

Mengembalikan

Respons panggilan jaringan Anda. Tidak melakukan penanganan kesalahan pada respons Anda.

Tipe hasil

sign

Buat tanda tangan dari hash menggunakan kunci klien.

Memerlukan izin kunci/tanda tangan.

sign(algorithm: SignatureAlgorithm, digest: bytes, **kwargs) -> SignResult

Parameter

algorithm
SignatureAlgorithm
Diperlukan

algoritma penandatanganan

digest
bytes
Diperlukan

byte yang di-hash untuk ditandatangani

Tipe hasil

unwrap_key

Buka bungkus kunci yang sebelumnya dibungkus dengan kunci klien.

Memerlukan izin kunci/unwrapKey.

unwrap_key(algorithm: KeyWrapAlgorithm, encrypted_key: bytes, **kwargs) -> UnwrapResult

Parameter

algorithm
KeyWrapAlgorithm
Diperlukan

algoritma pembungkusan untuk digunakan

encrypted_key
bytes
Diperlukan

kunci yang dibungkus

Tipe hasil

verify

Verifikasi tanda tangan menggunakan kunci klien.

Memerlukan izin kunci/verifikasi.

verify(algorithm: SignatureAlgorithm, digest: bytes, signature: bytes, **kwargs) -> VerifyResult

Parameter

algorithm
SignatureAlgorithm
Diperlukan

algoritma verifikasi

digest
bytes
Diperlukan

Hash hash yang sesuai dengan tanda tangan. Algoritma hash yang digunakan harus kompatibel dengan algorithm.

signature
bytes
Diperlukan

tanda tangan untuk memverifikasi

Tipe hasil

wrap_key

Bungkus kunci dengan kunci klien.

Memerlukan izin kunci/wrapKey.

wrap_key(algorithm: KeyWrapAlgorithm, key: bytes, **kwargs) -> WrapResult

Parameter

algorithm
KeyWrapAlgorithm
Diperlukan

algoritma pembungkusan untuk digunakan

key
bytes
Diperlukan

kunci untuk dibungkus

Tipe hasil

Atribut

key_id

Pengidentifikasi lengkap kunci klien.

Properti ini mungkin Tidak Ada ketika klien dibangun dengan from_jwk.

Tipe hasil

str,

vault_url

URL vault dasar kunci klien.

Properti ini mungkin Tidak Ada ketika klien dibangun dengan from_jwk.

Tipe hasil

str,