示例#1
0
 public bool VerifyDataSignature(byte[] buffer, byte[] signature)
 {
     using (SHA512Managed sha = new SHA512Managed())
     {
         var buffHash = sha.ComputeHash(buffer);
         return(GMSS.VerifyGMSSSignature(buffHash, signature, _publicKeyFile));
     }
 }
示例#2
0
 public byte[] ComputeHash(byte[] buffer)
 {
     using (SHA512Managed sha = new SHA512Managed())
     {
         var buffHash = sha.ComputeHash(buffer);
         return(GMSS.SignWithGMSS(buffHash, _privateKeyFile));
     }
 }
示例#3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            // GMSS/JWT test

            string testLabel = "MarekTest123";

            var keyPairFiles = GMSS.GenerateGMSSKeys(testLabel);

            JwtPayload jwtPayload = new JwtPayload();

            jwtPayload.Issuer    = "Marek";
            jwtPayload.IssuedAt  = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
            jwtPayload.NotBefore = jwtPayload.IssuedAt;
            jwtPayload.Expires   = jwtPayload.NotBefore + 3600;
            jwtPayload.Subject   = "MarekTester";
            jwtPayload.Audience  = "MarekTest";

            var jwtEncoded = JsonWebToken.Encode(jwtPayload, keyPairFiles.Item1, JwtAlgorithm.GMSS512);

            var jwtDecoded = JsonWebToken.Decode(jwtEncoded, keyPairFiles.Item2, "", "");

            return;


            // GMSS TEST

            TestSign(GMSSParamSets.FromName(GMSSVersion));


            return;

            // RSM/TSM TEST:
            KeyParams keyParams = null;

            byte[] test       = Encoding.UTF8.GetBytes("ala ma kotka");
            var    testStream = new MemoryStream(test);

            using (KeyGenerator kg = new KeyGenerator())
            {
                keyParams = kg.GetKeyParams(192, 32, 32);  // for TSM: kg.GetKeyParams(192, 16, 16); // for RSM: kg.GetKeyParams(192, 32, 32);
            }


            var testEncrypted = Encrypt(test, keyParams);
            var testDecrypted = Decrypt(testEncrypted, keyParams);

            var xxxxx = Encoding.UTF8.GetString(testDecrypted);
        }