/// <summary> /// Create an instance from the public properties of the specified CryptoProvider. /// </summary> /// <param name="CryptoProvider">Template from which to take the properties.</param> public CryptoAlgorithm(CryptoProvider CryptoProvider) { this._Name = CryptoProvider.Name; this._OID = CryptoConfig.MapNameToOID(Name); this._GetCryptoProvider = CryptoProvider.GetCryptoProvider; this._KeySize = CryptoProvider.Size; _JSON_use = CryptoProvider.JSONKeyUse; _JSON_kty = CryptoProvider.JSONKeyType; _AlgorithmClass = CryptoProvider.AlgorithmClass; }
/// <summary> /// Create an instance with the specified property values. /// </summary> /// <param name="CryptoAlgorithmID">CryptoAlgorithmID Identifier.</param> /// <param name="Name">.NET Framework name.</param> /// <param name="KeySize">Default algorithm key size.</param> /// <param name="JSON_alg">JSON Algorithm Identifier.</param> /// <param name="JSON_kty">JSON Key type.</param> /// <param name="JSON_use">JSON Key Use.</param> /// <param name="XML">XML algorithm identifier.</param> /// <param name="AlgorithmClass">Algorithm type.</param> /// <param name="GetCryptoProvider">Delegate returning the default crypto provider.</param> public CryptoAlgorithm( CryptoAlgorithmID CryptoAlgorithmID, string Name, int KeySize, string JSON_kty, string JSON_use, string JSON_alg, string XML, CryptoAlgorithmClass AlgorithmClass, GetCryptoProvider GetCryptoProvider) { _CryptoAlgorithmID = CryptoAlgorithmID; _Name = Name; _OID = CryptoConfig.MapNameToOID(Name); _GetCryptoProvider = GetCryptoProvider; _KeySize = KeySize; _JSON_alg = JSON_alg; _JSON_use = JSON_use; _JSON_kty = JSON_kty; _XML = XML; _AlgorithmClass = AlgorithmClass; }