1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
- #pragma warning disable
- using System;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Pkcs;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Generators;
- using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters;
- namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Cms
- {
- /// <summary>
- /// PKCS5 scheme-2 - password converted to bytes assuming ASCII.
- /// </summary>
- public class Pkcs5Scheme2PbeKey
- : CmsPbeKey
- {
- public Pkcs5Scheme2PbeKey(
- string password,
- byte[] salt,
- int iterationCount)
- : this(password.ToCharArray(), salt, iterationCount)
- {
- }
- public Pkcs5Scheme2PbeKey(
- string password,
- AlgorithmIdentifier keyDerivationAlgorithm)
- : this(password.ToCharArray(), keyDerivationAlgorithm)
- {
- }
-
- public Pkcs5Scheme2PbeKey(
- char[] password,
- byte[] salt,
- int iterationCount)
- : base(password, salt, iterationCount)
- {
- }
- public Pkcs5Scheme2PbeKey(
- char[] password,
- AlgorithmIdentifier keyDerivationAlgorithm)
- : base(password, keyDerivationAlgorithm)
- {
- }
- internal override KeyParameter GetEncoded(
- string algorithmOid)
- {
- Pkcs5S2ParametersGenerator gen = new Pkcs5S2ParametersGenerator();
- gen.Init(
- PbeParametersGenerator.Pkcs5PasswordToBytes(password),
- salt,
- iterationCount);
- return (KeyParameter) gen.GenerateDerivedParameters(
- algorithmOid,
- CmsEnvelopedHelper.Instance.GetKeySize(algorithmOid));
- }
- }
- }
- #pragma warning restore
- #endif
|