Key Management Service (KMS) yazılım anahtar yönetimi örneğindeki simetrik bir anahtarın birincil sürümünü kullanarak düz metni şifreli metne dönüştürür.
İşlem açıklaması
AdvanceEncrypt ve Encrypt işlemlerinin her ikisi de düz metni şifreli metne dönüştürür; ancak kullanılan anahtar sürümü ve uyumlu şifre çözme işlemi açısından farklılık gösterirler:
| AdvanceEncrypt | **Encrypt** | |
|---|---|---|
| Kullanılan anahtar sürümü | Birincil sürüm | İlk sürüm |
| Uyumlu şifre çözme işlemi | Yalnızca AdvanceDecrypt | Decrypt veya AdvanceDecrypt |
Otomatik anahtar döndürme etkinleştirildiyse, anahtar döndürme özelliğinin doğru çalışmasını sağlamak için Encrypt yerine AdvanceEncrypt kullanın. Daha fazla bilgi için bkz. Anahtar döndürmeyi yapılandırma.
Bu işlem yalnızca KMS yazılım anahtar yönetimi örneklerindeki simetrik anahtarlar için desteklenir. Desteklenen anahtar teknik özellikleri, şifreleme algoritmaları ve anahtar sürümleri hakkında bilgi edinmek için bkz. Anahtar türleri ve teknik özellikleri.
Kullanım notları
İstek gövdesi, Protocol Buffers ile kodlandıktan sonra 3 MB'ı aşmamalıdır. Aşılması durumunda sunucu HTTP 413 hatası döndürür. Veri boyutunu işlem başına 6 KB ile sınırlayın. Daha büyük yükler için zarf şifrelemeyi kullanın.
Büyük yükler ağ hataları riskini artırır, aktarım süresini uzatır ve KMS şifreleme ile şifre çözme işlemlerini yavaşlatır.
İstek parametreleri
| Parametre | Tür | Gerekli | Örnek | Açıklama |
|---|---|---|---|---|
| KeyId | string | Evet | key-hzz62f1cb66fa42qo**** | Anahtarın genel olarak benzersiz kimliği (ID) veya anahtara bağlı bir takma ad. Anahtar, bir KMS yazılım anahtar yönetimi örneğindeki simetrik bir anahtar olmalıdır. |
| Plaintext | bytes | Evet | İkili veriler | Şifrelenecek düz metin. |
| Algorithm | string | Hayır | AES_GCM | Şifreleme algoritması. Ayarlanmazsa anahtar için tanımlanan algoritma varsayılan olarak kullanılır. Desteklenen değerler için bkz. Anahtar türleri ve teknik özellikleri. |
| Iv | bytes | Hayır | İkili veriler | Başlatma vektörü (IV). Yalnızca Algorithm değeri AES_GCM veya AES_CBC olduğunda geçerlidir. Ayarlanmazsa KMS rastgele bir değer oluşturur. Geçerli uzunluklar: AES_GCM için 12 bayt, AES_CBC için 16 bayt. Önemli Bu parametreyi ayarlamanızı önermiyoruz. |
| Aad | binary | Hayır | İkili veriler | GCM modu için ek kimlik doğrulama verileri (AAD). Yalnızca Algorithm değeri AES_GCM olduğunda geçerlidir ve iş gereksinimlerinize bağlı olarak isteğe bağlıdır. Ayarlanırsa, AdvanceDecrypt çağrılırken aynı değeri iletin. |
| PaddingMode | string | Hayır | PKCS7_PADDING | Dolgu modu. Yalnızca Algorithm değeri AES_CBC veya AES_ECB olduğunda gereklidir. Geçerli değerler: PKCS7_PADDING (varsayılan) ve NO_PADDING. PKCS7_PADDING ile sistem, girdiyi K-(L mod K) bayt ile doldurur; burada K şifre blok boyutu, L ise girdi uzunluğudur. NO_PADDING ile düz metin uzunluğu şifre blok boyutunun tam katı olmalıdır. |
Yanıt parametreleri
| Parametre | Tür | Örnek | Açıklama |
|---|---|---|---|
| CiphertextBlob | bytes | İkili veriler | Şifreli metin. KeyId, Algorithm, PaddingMode ve Iv için gömülü meta veriler içerir; AdvanceDecrypt çağrılırken yalnızca CiphertextBlob iletin. |
| Algorithm | string | AES_GCM | Kullanılan şifreleme algoritması. |
| KeyId | string | key-hzz62f1cb66fa42qo**** | Anahtarın genel olarak benzersiz kimliği (ID). İstekte bir takma ad geçtiyse, takma adın bağlı olduğu anahtarın kimliği döndürülür. |
| KeyVersionId | string | key-hzz62f1cb66fa42qopd9s-17kedv**** | Verileri şifrelemek için kullanılan anahtar sürümü. Her zaman birincil sürümdür. |
| Iv | bytes | İkili veriler | Kullanılan başlatma vektörü. Yalnızca Algorithm değeri AES_GCM veya AES_CBC olduğunda döndürülür; aksi takdirde boştur. |
| PaddingMode | string | PKCS7_PADDING | Kullanılan dolgu modu. Yalnızca Algorithm değeri AES_CBC veya AES_ECB olduğunda döndürülür; aksi takdirde boştur. |
| RequestId | string | c0037a6d-7784-4ef2-a692-288fdefc7b9d | Sorunları bulmak ve gidermek için kullanılan istek kimliği (ID). |
Hata kodları
| HTTP durum kodu | Hata kodu | Hata mesajı | Açıklama |
|---|---|---|---|
| 404 | Forbidden.OnlySymmetricKeySupported | The key %s is not a symmetric key. The API only supports symmetric keys. | Belirtilen anahtar simetrik bir anahtar değil. Asimetrik anahtarlar, KMS'nin bir tarafında yer almadığı güvenlik alanları arası veri şifreleme veya anahtar değişimi için kullanılır. |
Hata kodlarının tam listesi için bkz. Hizmet hata kodları.