Create() public static méthode

public static Create ( ) : RSA
Résultat RSA
Exemple #1
0
            public static Rsa Create(ReadOnlySpan <Byte> key, RSAKeyType type = DefaultRSAKeyType, RSAParameters?parameters = null)
            {
                Rsa rsa = parameters is null?Rsa.Create() : Rsa.Create(parameters.Value);

                if (rsa is null)
                {
                    throw new FactoryException("Unknown exception");
                }

                Int32 size = key.Length * 8;

                try
                {
                    rsa.KeySize = size;
                }
                catch (CryptographicException)
                {
                    throw new ArgumentException($@"Invalid key size: {size}", nameof(key));
                }

                switch (type)
                {
                case RSAKeyType.RSA:
                    rsa.ImportRSAPrivateKey(key);
                    break;

                case RSAKeyType.Pkcs8:
                    rsa.ImportPkcs8PrivateKey(key);
                    break;

                case RSAKeyType.RSAPublic:
                    rsa.ImportRSAPublicKey(key);
                    break;

                case RSAKeyType.SubjectPublic:
                    rsa.ImportSubjectPublicKeyInfo(key);
                    break;

                default:
                    throw new NotSupportedException();
                }

                return(rsa);
            }
Exemple #2
0
 public static Rsa Clone(Rsa rsa)
 {
     return(Rsa.Create(rsa.ExportParameters(true)) ?? throw new FactoryException());
 }