private void ValidateEphemeralKey(SchemeKeyNonceGenRequirement schemeRequirements, IDsaKeyPair ephemeralKey) { if (schemeRequirements.GeneratesEphemeralKeyPair && ephemeralKey == null) { throw new ArgumentNullException(nameof(ephemeralKey)); } }
public ISecretKeyingMaterialBuilder WithStaticKey(IDsaKeyPair value) { _staticKey = value; return(this); }
private void ValidateConsistentAlgorithm(KasAlgorithm schemeRequirementsKasAlgo, SchemeKeyNonceGenRequirement schemeRequirementsRequirments, IDsaDomainParameters domainParameters, IDsaKeyPair ephemeralKey, IDsaKeyPair staticKey) { switch (schemeRequirementsKasAlgo) { case KasAlgorithm.Ffc: if (domainParameters.GetType() != typeof(FfcDomainParameters)) { throw new ArgumentException($"{nameof(domainParameters)} expected type {typeof(FfcDomainParameters)} got {domainParameters.GetType()}"); } if (ephemeralKey != null && ephemeralKey.GetType() != typeof(FfcKeyPair)) { throw new ArgumentException($"{nameof(ephemeralKey)} expected type {typeof(FfcKeyPair)} got {ephemeralKey.GetType()}"); } if (staticKey != null && staticKey.GetType() != typeof(FfcKeyPair)) { throw new ArgumentException($"{nameof(staticKey)} expected type {typeof(FfcKeyPair)} got {staticKey.GetType()}"); } break; case KasAlgorithm.Ecc: if (domainParameters.GetType() != typeof(EccDomainParameters)) { throw new ArgumentException($"{nameof(domainParameters)} expected type {typeof(EccDomainParameters)} got {domainParameters.GetType()}"); } if (ephemeralKey != null && ephemeralKey.GetType() != typeof(EccKeyPair)) { throw new ArgumentException($"{nameof(ephemeralKey)} expected type {typeof(EccKeyPair)} got {ephemeralKey.GetType()}"); } if (staticKey != null && staticKey.GetType() != typeof(EccKeyPair)) { throw new ArgumentException($"{nameof(staticKey)} expected type {typeof(EccKeyPair)} got {staticKey.GetType()}"); } break; default: throw new ArgumentException(nameof(schemeRequirementsKasAlgo)); } }
public ISecretKeyingMaterialBuilder WithEphemeralKey(IDsaKeyPair value) { _ephemeralKey = value; return(this); }
private void ValidateStaticKey(SchemeKeyNonceGenRequirement schemeRequirements, IDsaKeyPair staticKey) { if (schemeRequirements.GeneratesStaticKeyPair && staticKey == null) { throw new ArgumentNullException(nameof(staticKey)); } }