private DsaKey(string publicKey, string privateKey, int size, AsymmetricKeyMode mode)
 {
     PublicKey  = publicKey;
     PrivateKey = privateKey;
     Size       = size;
     Mode       = mode;
 }
Exemple #2
0
 private RsaKey(string publicKey, string privateKey, RsaKeySize size, AsymmetricKeyMode mode)
 {
     PublicKey  = publicKey;
     PrivateKey = privateKey;
     Size       = (int)size;
     Mode       = mode;
 }
 public static Sm2Key Generate(AsymmetricKeyMode mode)
 {
     return(mode switch
     {
         AsymmetricKeyMode.PublicKey => GeneratePublicKey(),
         AsymmetricKeyMode.PrivateKey => GeneratePrivateKey(),
         _ => GenerateKeyInternal()
     });
Exemple #4
0
 /// <summary>
 /// Generate RSA key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize"></param>
 /// <param name="keyFormat"></param>
 /// <param name="keepingFormat"></param>
 /// <returns></returns>
 public static RsaKey Generate(AsymmetricKeyMode mode, int keySize, RsaKeyFormat keyFormat = RsaKeyFormat.XML, bool keepingFormat = false)
 {
     return(keyFormat switch
     {
         RsaKeyFormat.XML => GenerateInXml(mode, keySize),
         RsaKeyFormat.JSON => GenerateInJson(mode, keySize),
         RsaKeyFormat.Pkcs1 => GenerateInPkcs1(mode, keySize, keepingFormat),
         RsaKeyFormat.Pkcs8 => GenerateInPkcs8(mode, keySize, keepingFormat),
         _ => GenerateInXml(mode, keySize)
     });
        public static DsaKey CreateKey(AsymmetricKeyMode mode, int keySize = 1024)
        {
            using var provider = new DSACryptoServiceProvider(keySize);

            switch (mode)
            {
            case AsymmetricKeyMode.PublicKey:
                return(DsaKey.CreateFromPublicKey(provider.ToXmlString(false), provider.KeySize));

            case AsymmetricKeyMode.PrivateKey:
                return(DsaKey.CreateFromPrivateKey(provider.ToXmlString(true), provider.KeySize));

            case AsymmetricKeyMode.Both:
                return(DsaKey.Create(
                           provider.ToXmlString(true),
                           provider.ToXmlString(false),
                           provider.KeySize));

            default:
                throw new ArgumentOutOfRangeException(nameof(mode), mode, null);
            }
        }
Exemple #6
0
 /// <summary>
 /// Generate XML Format RSA Key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize">Key Size.Unit: bits</param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInXml(AsymmetricKeyMode mode, int keySize) => Factory.GenerateKeyInXml(mode, keySize);
Exemple #7
0
 /// <summary>
 /// Generate XML Format RSA Key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize"></param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInXml(AsymmetricKeyMode mode, RsaKeySize keySize) => RsaKeyGenerator.GenerateInXml(mode, keySize);
Exemple #8
0
 public static Sm2Key GenerateKey(AsymmetricKeyMode mode, string publicKey, string privateKey) => Sm2KeyGenerator.Generate(mode, publicKey, privateKey);
Exemple #9
0
 public static Sm2Key GenerateKey(AsymmetricKeyMode mode) => Sm2KeyGenerator.Generate(mode);
 public static IDSA Create(AsymmetricKeyMode mode, int keySize) => new DsaFunction(GenerateKey(mode, keySize));
 public static DsaKey GenerateKey(AsymmetricKeyMode mode, int keySize = 1024) => DsaKeyGenerator.CreateKey(mode, keySize);
Exemple #12
0
 public static IDSA Create(AsymmetricKeyMode mode, int keySize) => Factory.Create(mode, keySize);
Exemple #13
0
 /// <summary>
 /// Generate JSON Format RSA Key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize">Key Size.Unit: bits</param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInJson(AsymmetricKeyMode mode, RsaKeySize keySize) => Factory.GenerateKeyInJson(mode, keySize);
Exemple #14
0
 /// <summary>
 /// Generate Pkcs8 format RSA key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize">Key Size.Unit: bits</param>
 /// <param name="keepingFormat">Whether the format is true If it is standard pem file format</param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInPkcs8(AsymmetricKeyMode mode, int keySize, bool keepingFormat) => Factory.GenerateKeyInPkcs8(mode, keySize, keepingFormat);
Exemple #15
0
 public static IDSA Create(AsymmetricKeyMode mode) => Factory.Create(mode);
Exemple #16
0
 /// <summary>
 /// Generate Pkcs8 format RSA key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize">Key Size.Unit: bits</param>
 /// <param name="keepingFormat">Whether the format is true If it is standard pem file format</param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInPkcs8(AsymmetricKeyMode mode, RsaKeySize keySize, bool keepingFormat) => RsaKeyGenerator.GenerateInPkcs8(mode, keySize, keepingFormat);
Exemple #17
0
 /// <summary>
 /// Generate RSA key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize"></param>
 /// <param name="keyFormat"></param>
 /// <param name="keepingFormat"></param>
 /// <returns></returns>
 public static RsaKey GenerateKey(AsymmetricKeyMode mode, RsaKeySize keySize, RsaKeyFormat keyFormat = RsaKeyFormat.XML, bool keepingFormat = false) => RsaKeyGenerator.Generate(mode, keySize, keyFormat, keepingFormat);
Exemple #18
0
 /// <summary>
 /// Generate JSON Format RSA Key.
 /// </summary>
 /// <param name="mode"></param>
 /// <param name="keySize"></param>
 /// <returns></returns>
 public static RsaKey GenerateKeyInJson(AsymmetricKeyMode mode, int keySize) => RsaKeyGenerator.GenerateInJson(mode, keySize);
 internal Sm2Key(string publicKey, string privateKey, AsymmetricKeyMode mode)
 {
     PublicKey  = publicKey;
     PrivateKey = privateKey;
     Mode       = mode;
 }
Exemple #20
0
 public static Sm2Key GenerateKey(AsymmetricKeyMode mode) => Factory.GenerateKey(mode);