示例#1
0
 public static RSAParameters GetPrivateKeyRSAParameters(string privateKeyString)
 {
     using (var rsa = RsaPEMHelper.PrivateKeyFromPem(privateKeyString))
     {
         return(rsa.ExportParameters(true));
     }
 }
示例#2
0
 public static RSAParameters GetPublicKeyRSAParameters(string publicKeyString)
 {
     using (var rsa = RsaPEMHelper.PublicKeyFromPem(publicKeyString))
     {
         return(rsa.ExportParameters(false));
     }
 }
示例#3
0
            public static bool VerifySignature(string publicKeyString, byte[] hashOfDataToSign, byte[] signature)
            {
                using (var rsa = RsaPEMHelper.PublicKeyFromPem(publicKeyString))
                {
                    var rsaDeformatter = new RSAPKCS1SignatureDeformatter(rsa);
                    rsaDeformatter.SetHashAlgorithm("SHA256");

                    return(rsaDeformatter.VerifySignature(hashOfDataToSign, signature));
                }
            }
示例#4
0
            public static byte[] CreateDigitalSignature(string privateKeyString, byte[] hashOfDataToSign)
            {
                using (var rsa = RsaPEMHelper.PrivateKeyFromPem(privateKeyString))
                {
                    var rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
                    rsaFormatter.SetHashAlgorithm("SHA256");

                    return(rsaFormatter.CreateSignature(hashOfDataToSign));
                }
            }
示例#5
0
            public static byte[] DecryptData(string privateKeyString, byte[] dataToEncrypt)
            {
                byte[] plain;

                using (var rsa = RsaPEMHelper.PrivateKeyFromPem(privateKeyString))
                {
                    plain = rsa.Decrypt(dataToEncrypt, false);
                }

                return(plain);
            }
示例#6
0
            public static byte[] EncryptData(string publicKeyString, byte[] dataToEncrypt)
            {
                byte[] cipherbytes;

                using (var rsa = RsaPEMHelper.PublicKeyFromPem(publicKeyString))
                {
                    cipherbytes = rsa.Encrypt(dataToEncrypt, false);
                }

                return(cipherbytes);
            }
示例#7
0
 public static (string publicKey, string privateKey) AssignNewKey()
 {
     return(RsaPEMHelper.GenerateRsaKeyPair());
 }
示例#8
0
 public static void AssignNewKey(string publicKeyPath, string privateKeyPath)
 {
     RsaPEMHelper.GenerateRsaKeyPairFiles(publicKeyPath, privateKeyPath);
 }