Skip to content

Commit d767015

Browse files
JonathanCrdjsquirechlowell
authored
[KeyVault] Update Keys with service version 7.6 (#50510)
* Move CkmAesKeyWrap to KeyWrapAlgorithm * Update tests * Update service version to 7.6 * Update CHANGELOG for breaking changes and default service version * Export API * Fix formatting * nit: formatting * nit: formatting * Attempt: have different sizes for the KwyWrap and fix the Padding * Hide CkmAesKeyWrap algorithm * Updating implementation to remove local-only algorithm bits. This should allow the new algorithms to fallback to remote-only paths, which are necessary since the client lacks insight into the keysize and other factors needed for local operations. * Clean up AesKw type * Make CkmAesKeyWrap public * Export API * Update changelog with new features for stable version * Re-record tests, the new keywrap algorithm tests are failing tho. * Add support for CkmAesKeyWrap and CkmAesKeyWrapPad algorithms in CreateTestKey * Remove CKM_AES_KEY_WRAP for non-HSM and local tests. * re-record after merging main * Apply suggestions from code review Co-authored-by: Charles Lowell <10964656+chlowell@users.noreply.github.com> * Reverting AesKw.cs * Ignore KeyWrapAlgorithm.CkmAesKeyWrap for non-hsm test --------- Co-authored-by: Jesse Squire <jesse.squire@gmail.com> Co-authored-by: Charles Lowell <10964656+chlowell@users.noreply.github.com>
1 parent fd8f5be commit d767015

19 files changed

+61
-107
lines changed

sdk/keyvault/Azure.Security.KeyVault.Keys/CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ Thank you to our developer community members who helped to make the Key Vault cl
1010

1111
### Features Added
1212

13+
- Added Hmac algorithms in `SignatureAlgorithm`
14+
- Added CkmAesKeyWrap algorithm in `KeyWrapAlgorithm`
15+
- Added Attestation property for Keys in Managed HSM Key Vaults.
16+
- Adde new `GetKeyAttestation` operation to get the public part of a stored key along with its attestation blob.
17+
1318
### Breaking Changes
1419

1520
### Bugs Fixed
@@ -18,6 +23,8 @@ Thank you to our developer community members who helped to make the Key Vault cl
1823

1924
### Other Changes
2025

26+
- The default service version is now "7.6".
27+
2128
## 4.8.0-beta.1 (2025-04-08)
2229

2330
### Features Added

sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.net8.0.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public KeyClient(System.Uri vaultUri, Azure.Core.TokenCredential credential, Azu
169169
}
170170
public partial class KeyClientOptions : Azure.Core.ClientOptions
171171
{
172-
public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_6_Preview_2) { }
172+
public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_6) { }
173173
public bool DisableChallengeResourceVerification { get { throw null; } set { } }
174174
public Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion Version { get { throw null; } }
175175
public enum ServiceVersion
@@ -180,7 +180,7 @@ public enum ServiceVersion
180180
V7_3 = 3,
181181
V7_4 = 4,
182182
V7_5 = 5,
183-
V7_6_Preview_2 = 6,
183+
V7_6 = 6,
184184
}
185185
}
186186
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
@@ -441,7 +441,7 @@ public CryptographyClient(System.Uri keyId, Azure.Core.TokenCredential credentia
441441
}
442442
public partial class CryptographyClientOptions : Azure.Core.ClientOptions
443443
{
444-
public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_6_Preview_2) { }
444+
public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_6) { }
445445
public bool DisableChallengeResourceVerification { get { throw null; } set { } }
446446
public Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion Version { get { throw null; } }
447447
public enum ServiceVersion
@@ -452,7 +452,7 @@ public enum ServiceVersion
452452
V7_3 = 3,
453453
V7_4 = 4,
454454
V7_5 = 5,
455-
V7_6_Preview_2 = 6,
455+
V7_6 = 6,
456456
}
457457
}
458458
public partial class DecryptParameters
@@ -472,8 +472,6 @@ internal DecryptParameters() { }
472472
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256CbcPadParameters(byte[] ciphertext, byte[] iv) { throw null; }
473473
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256CbcParameters(byte[] ciphertext, byte[] iv) { throw null; }
474474
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256GcmParameters(byte[] ciphertext, byte[] iv, byte[] authenticationTag, byte[] additionalAuthenticatedData = null) { throw null; }
475-
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters CkmAesKeyWrapPadParameters(byte[] ciphertext, byte[] iv) { throw null; }
476-
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters CkmAesKeyWrapParameters(byte[] ciphertext, byte[] iv) { throw null; }
477475
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters Rsa15Parameters(byte[] ciphertext) { throw null; }
478476
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters RsaOaep256Parameters(byte[] ciphertext) { throw null; }
479477
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters RsaOaepParameters(byte[] ciphertext) { throw null; }
@@ -500,8 +498,6 @@ internal DecryptResult() { }
500498
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256Cbc { get { throw null; } }
501499
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256CbcPad { get { throw null; } }
502500
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256Gcm { get { throw null; } }
503-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm CkmAesKeyWrap { get { throw null; } }
504-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm CkmAesKeyWrapPad { get { throw null; } }
505501
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm Rsa15 { get { throw null; } }
506502
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm RsaOaep { get { throw null; } }
507503
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm RsaOaep256 { get { throw null; } }
@@ -531,8 +527,6 @@ internal EncryptParameters() { }
531527
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256CbcPadParameters(byte[] plaintext, byte[] iv = null) { throw null; }
532528
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256CbcParameters(byte[] plaintext, byte[] iv = null) { throw null; }
533529
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256GcmParameters(byte[] plaintext, byte[] additionalAuthenticatedData = null) { throw null; }
534-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters CkmAesKeyWrapPadParameters(byte[] plaintext, byte[] iv = null) { throw null; }
535-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters CkmAesKeyWrapParameters(byte[] plaintext, byte[] iv = null) { throw null; }
536530
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters Rsa15Parameters(byte[] plaintext) { throw null; }
537531
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters RsaOaep256Parameters(byte[] plaintext) { throw null; }
538532
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters RsaOaepParameters(byte[] plaintext) { throw null; }
@@ -566,6 +560,8 @@ public KeyResolver(Azure.Core.TokenCredential credential, Azure.Security.KeyVaul
566560
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A128KW { get { throw null; } }
567561
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A192KW { get { throw null; } }
568562
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A256KW { get { throw null; } }
563+
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm CkmAesKeyWrap { get { throw null; } }
564+
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm CkmAesKeyWrapPad { get { throw null; } }
569565
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm Rsa15 { get { throw null; } }
570566
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm RsaOaep { get { throw null; } }
571567
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm RsaOaep256 { get { throw null; } }

sdk/keyvault/Azure.Security.KeyVault.Keys/api/Azure.Security.KeyVault.Keys.netstandard2.0.cs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public KeyClient(System.Uri vaultUri, Azure.Core.TokenCredential credential, Azu
169169
}
170170
public partial class KeyClientOptions : Azure.Core.ClientOptions
171171
{
172-
public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_6_Preview_2) { }
172+
public KeyClientOptions(Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion.V7_6) { }
173173
public bool DisableChallengeResourceVerification { get { throw null; } set { } }
174174
public Azure.Security.KeyVault.Keys.KeyClientOptions.ServiceVersion Version { get { throw null; } }
175175
public enum ServiceVersion
@@ -180,7 +180,7 @@ public enum ServiceVersion
180180
V7_3 = 3,
181181
V7_4 = 4,
182182
V7_5 = 5,
183-
V7_6_Preview_2 = 6,
183+
V7_6 = 6,
184184
}
185185
}
186186
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
@@ -441,7 +441,7 @@ public CryptographyClient(System.Uri keyId, Azure.Core.TokenCredential credentia
441441
}
442442
public partial class CryptographyClientOptions : Azure.Core.ClientOptions
443443
{
444-
public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_6_Preview_2) { }
444+
public CryptographyClientOptions(Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion version = Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion.V7_6) { }
445445
public bool DisableChallengeResourceVerification { get { throw null; } set { } }
446446
public Azure.Security.KeyVault.Keys.Cryptography.CryptographyClientOptions.ServiceVersion Version { get { throw null; } }
447447
public enum ServiceVersion
@@ -452,7 +452,7 @@ public enum ServiceVersion
452452
V7_3 = 3,
453453
V7_4 = 4,
454454
V7_5 = 5,
455-
V7_6_Preview_2 = 6,
455+
V7_6 = 6,
456456
}
457457
}
458458
public partial class DecryptParameters
@@ -472,8 +472,6 @@ internal DecryptParameters() { }
472472
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256CbcPadParameters(byte[] ciphertext, byte[] iv) { throw null; }
473473
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256CbcParameters(byte[] ciphertext, byte[] iv) { throw null; }
474474
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters A256GcmParameters(byte[] ciphertext, byte[] iv, byte[] authenticationTag, byte[] additionalAuthenticatedData = null) { throw null; }
475-
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters CkmAesKeyWrapPadParameters(byte[] ciphertext, byte[] iv) { throw null; }
476-
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters CkmAesKeyWrapParameters(byte[] ciphertext, byte[] iv) { throw null; }
477475
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters Rsa15Parameters(byte[] ciphertext) { throw null; }
478476
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters RsaOaep256Parameters(byte[] ciphertext) { throw null; }
479477
public static Azure.Security.KeyVault.Keys.Cryptography.DecryptParameters RsaOaepParameters(byte[] ciphertext) { throw null; }
@@ -500,8 +498,6 @@ internal DecryptResult() { }
500498
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256Cbc { get { throw null; } }
501499
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256CbcPad { get { throw null; } }
502500
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm A256Gcm { get { throw null; } }
503-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm CkmAesKeyWrap { get { throw null; } }
504-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm CkmAesKeyWrapPad { get { throw null; } }
505501
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm Rsa15 { get { throw null; } }
506502
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm RsaOaep { get { throw null; } }
507503
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptionAlgorithm RsaOaep256 { get { throw null; } }
@@ -531,8 +527,6 @@ internal EncryptParameters() { }
531527
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256CbcPadParameters(byte[] plaintext, byte[] iv = null) { throw null; }
532528
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256CbcParameters(byte[] plaintext, byte[] iv = null) { throw null; }
533529
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters A256GcmParameters(byte[] plaintext, byte[] additionalAuthenticatedData = null) { throw null; }
534-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters CkmAesKeyWrapPadParameters(byte[] plaintext, byte[] iv = null) { throw null; }
535-
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters CkmAesKeyWrapParameters(byte[] plaintext, byte[] iv = null) { throw null; }
536530
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters Rsa15Parameters(byte[] plaintext) { throw null; }
537531
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters RsaOaep256Parameters(byte[] plaintext) { throw null; }
538532
public static Azure.Security.KeyVault.Keys.Cryptography.EncryptParameters RsaOaepParameters(byte[] plaintext) { throw null; }
@@ -566,6 +560,8 @@ public KeyResolver(Azure.Core.TokenCredential credential, Azure.Security.KeyVaul
566560
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A128KW { get { throw null; } }
567561
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A192KW { get { throw null; } }
568562
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm A256KW { get { throw null; } }
563+
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm CkmAesKeyWrap { get { throw null; } }
564+
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm CkmAesKeyWrapPad { get { throw null; } }
569565
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm Rsa15 { get { throw null; } }
570566
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm RsaOaep { get { throw null; } }
571567
public static Azure.Security.KeyVault.Keys.Cryptography.KeyWrapAlgorithm RsaOaep256 { get { throw null; } }

sdk/keyvault/Azure.Security.KeyVault.Keys/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "net",
44
"TagPrefix": "net/keyvault/Azure.Security.KeyVault.Keys",
5-
"Tag": "net/keyvault/Azure.Security.KeyVault.Keys_8691bc60be"
5+
"Tag": "net/keyvault/Azure.Security.KeyVault.Keys_1f1b6ed280"
66
}

sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/AesCbc.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,9 @@ internal class AesCbc
1515
public static readonly AesCbc Aes128Cbc = new AesCbc("A128CBC", 128, PaddingMode.Zeros);
1616
public static readonly AesCbc Aes192Cbc = new AesCbc("A192CBC", 192, PaddingMode.Zeros);
1717
public static readonly AesCbc Aes256Cbc = new AesCbc("A256CBC", 256, PaddingMode.Zeros);
18-
public static readonly AesCbc CkmAesKeyWrap = new AesCbc("CKM_AES_KEY_WRAP", 192, PaddingMode.Zeros);
19-
2018
public static readonly AesCbc Aes128CbcPad = new AesCbc("A128CBCPAD", 128, PaddingMode.PKCS7);
2119
public static readonly AesCbc Aes192CbcPad = new AesCbc("A192CBCPAD", 192, PaddingMode.PKCS7);
2220
public static readonly AesCbc Aes256CbcPad = new AesCbc("A256CBCPAD", 256, PaddingMode.PKCS7);
23-
public static readonly AesCbc CkmAesKeyWrapPad = new AesCbc("CKM_AES_KEY_WRAP_PAD", 256, PaddingMode.PKCS7);
2421

2522
private AesCbc(string name, int keySize, PaddingMode padding)
2623
{

sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/AesKw.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) Microsoft Corporation. All rights reserved.
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT License.
33

44
using System;

sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/CryptographyClientOptions.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class CryptographyClientOptions : ClientOptions
1616
/// For more information, see
1717
/// <see href="https://docs.microsoft.com/rest/api/keyvault/key-vault-versions">Key Vault versions</see>.
1818
/// </summary>
19-
internal const ServiceVersion LatestVersion = ServiceVersion.V7_6_Preview_2;
19+
internal const ServiceVersion LatestVersion = ServiceVersion.V7_6;
2020

2121
/// <summary>
2222
/// The versions of Azure Key Vault supported by this client
@@ -58,7 +58,7 @@ public enum ServiceVersion
5858
/// <summary>
5959
/// The Key Vault API version 7.6-preview.2.
6060
/// </summary>
61-
V7_6_Preview_2 = 6,
61+
V7_6 = 6,
6262
#pragma warning restore CA1707 // Identifiers should not contain underscores
6363
}
6464

@@ -99,7 +99,7 @@ internal string GetVersionString()
9999
ServiceVersion.V7_3 => "7.3",
100100
ServiceVersion.V7_4 => "7.4",
101101
ServiceVersion.V7_5 => "7.5",
102-
ServiceVersion.V7_6_Preview_2 => "7.6-preview.2",
102+
ServiceVersion.V7_6 => "7.6",
103103
_ => throw new ArgumentException(Version.ToString()),
104104
};
105105
}

sdk/keyvault/Azure.Security.KeyVault.Keys/src/Cryptography/DecryptParameters.cs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,6 @@ public static DecryptParameters A192CbcParameters(byte[] ciphertext, byte[] iv)
105105
public static DecryptParameters A256CbcParameters(byte[] ciphertext, byte[] iv) =>
106106
new DecryptParameters(EncryptionAlgorithm.A256Cbc, ciphertext, iv);
107107

108-
/// <summary>
109-
/// Creates an instance of the <see cref="DecryptParameters"/> class using the <see cref="EncryptionAlgorithm.CkmAesKeyWrap"/> encryption algorithm.
110-
/// </summary>
111-
/// <param name="ciphertext">The cipher text to decrypt.</param>
112-
/// <param name="iv">The initialization vector used during encryption.</param>
113-
/// <returns>An instance of the <see cref="DecryptParameters"/> class using the <see cref="EncryptionAlgorithm.CkmAesKeyWrap"/> encryption algorithm.</returns>
114-
/// <exception cref="ArgumentNullException"><paramref name="ciphertext"/> or <paramref name="iv"/> is null.</exception>
115-
public static DecryptParameters CkmAesKeyWrapParameters(byte[] ciphertext, byte[] iv) =>
116-
new DecryptParameters(EncryptionAlgorithm.CkmAesKeyWrap, ciphertext, iv);
117-
118108
/// <summary>
119109
/// Creates an instance of the <see cref="DecryptParameters"/> class for the <see cref="EncryptionAlgorithm.A128CbcPad"/> encryption algorithm with PKCS#7 padding.
120110
/// </summary>
@@ -145,16 +135,6 @@ public static DecryptParameters A192CbcPadParameters(byte[] ciphertext, byte[] i
145135
public static DecryptParameters A256CbcPadParameters(byte[] ciphertext, byte[] iv) =>
146136
new DecryptParameters(EncryptionAlgorithm.A256CbcPad, ciphertext, iv);
147137

148-
/// <summary>
149-
/// Creates an instance of the <see cref="DecryptParameters"/> class for the <see cref="EncryptionAlgorithm.CkmAesKeyWrapPad"/> encryption algorithm with PKCS#7 padding.
150-
/// </summary>
151-
/// <param name="ciphertext">The ciphertext to decrypt.</param>
152-
/// <param name="iv">The initialization vector used during encryption.</param>
153-
/// <returns>An instance of the <see cref="DecryptParameters"/> class for the <see cref="EncryptionAlgorithm.CkmAesKeyWrapPad"/> encryption algorithm.</returns>
154-
/// <exception cref="ArgumentNullException"><paramref name="ciphertext"/> or <paramref name="iv"/> is null.</exception>
155-
public static DecryptParameters CkmAesKeyWrapPadParameters(byte[] ciphertext, byte[] iv) =>
156-
new DecryptParameters(EncryptionAlgorithm.CkmAesKeyWrapPad, ciphertext, iv);
157-
158138
internal DecryptParameters(EncryptionAlgorithm algorithm, byte[] ciphertext)
159139
{
160140
Argument.AssertNotNull(ciphertext, nameof(ciphertext));

0 commit comments

Comments
 (0)