diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-04-13 16:48:27 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2023-04-13 16:48:27 +0700 |
commit | a0b75007cc33d1ead75b2aed6439a7b272469bed (patch) | |
tree | 4a831e9dfc6fc39b99246610e878bd7917b67c62 /crypto/src/cms/PasswordRecipientInformation.cs | |
parent | Guard against null nonce and clone returned nonce (diff) | |
download | BouncyCastle.NET-ed25519-a0b75007cc33d1ead75b2aed6439a7b272469bed.tar.xz |
Refactoring around AeadParameters and ParametersWIthIV
Diffstat (limited to 'crypto/src/cms/PasswordRecipientInformation.cs')
-rw-r--r-- | crypto/src/cms/PasswordRecipientInformation.cs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/crypto/src/cms/PasswordRecipientInformation.cs b/crypto/src/cms/PasswordRecipientInformation.cs index f629caba6..ff4a20d68 100644 --- a/crypto/src/cms/PasswordRecipientInformation.cs +++ b/crypto/src/cms/PasswordRecipientInformation.cs @@ -54,12 +54,17 @@ namespace Org.BouncyCastle.Cms string cName = CmsEnvelopedHelper.Instance.GetRfc3211WrapperName(kekAlgName); IWrapper keyWrapper = WrapperUtilities.GetWrapper(cName); - byte[] iv = Asn1OctetString.GetInstance(kekAlgParams[1]).GetOctets(); + var iv = Asn1OctetString.GetInstance(kekAlgParams[1]); - ICipherParameters parameters = ((CmsPbeKey)key).GetEncoded(kekAlgName); - parameters = new ParametersWithIV(parameters, iv); + ICipherParameters parameters = ((CmsPbeKey)key).GetEncoded(kekAlgName); - keyWrapper.Init(false, parameters); +#if NETCOREAPP2_1_OR_GREATER || NETSTANDARD2_1_OR_GREATER + parameters = new ParametersWithIV(parameters, iv.GetOctetsSpan()); +#else + parameters = new ParametersWithIV(parameters, iv.GetOctets()); +#endif + + keyWrapper.Init(false, parameters); KeyParameter sKey = ParameterUtilities.CreateKeyParameter( GetContentAlgorithmName(), keyWrapper.Unwrap(encryptedKey, 0, encryptedKey.Length)); |