Exemplo n.º 1
0
        public void FromBase64URLWithoutPadding_2_equals_padding_needed()
        {
            var input  = "YQ";
            var result = SQRL.FromBase64URL(input);

            Assert.AreEqual("a", result);
        }
Exemplo n.º 2
0
        public void VerifyDetached()
        {
            //client=dmVyPTENCmNtZD1pZGVudA0KaWRrPXhZdjhvRzY2RE1HWEs4VENXQjU0QkFPcTk5LWFDcEZiMEw2NGE5b3JBcWsNCm9wdD1jcHN-c3VrDQo&server=dmVyPTENCm51dD1HdWZJYkQzVVhlMVpGYkpxdVNOQ2ZBDQp0aWY9NQ0KcXJ5PS9zcXJsP251dD1HdWZJYkQzVVhlMVpGYkpxdVNOQ2ZBDQpzdWs9dVUwUG1rRnpDVFMyUjkxOWpfQ3VKb0EtR0h2T0lvN3JqZ0Q3QUhVTVptNA0K&ids=xvbYlKjPU_bVkSacpXakcJhJX6ZaiPa8cX9wGtVbeEHROddvmQ5ec-xDuMmuPg4-p7Os-PDTO8ZJC12oW-48CQ

            var ids    = "xvbYlKjPU_bVkSacpXakcJhJX6ZaiPa8cX9wGtVbeEHROddvmQ5ec-xDuMmuPg4-p7Os-PDTO8ZJC12oW-48CQ";
            var client = "dmVyPTENCmNtZD1pZGVudA0KaWRrPXhZdjhvRzY2RE1HWEs4VENXQjU0QkFPcTk5LWFDcEZiMEw2NGE5b3JBcWsNCm9wdD1jcHN-c3VrDQo";
            var server = "dmVyPTENCm51dD1HdWZJYkQzVVhlMVpGYkpxdVNOQ2ZBDQp0aWY9NQ0KcXJ5PS9zcXJsP251dD1HdWZJYkQzVVhlMVpGYkpxdVNOQ2ZBDQpzdWs9dVUwUG1rRnpDVFMyUjkxOWpfQ3VKb0EtR0h2T0lvN3JqZ0Q3QUhVTVptNA0K";

            var idk = "xYv8oG66DMGXK8TCWB54BAOq99-aCpFb0L64a9orAqk";
            var msg = client + server;

            var msgBytes = Encoding.UTF8.GetBytes(msg);
            var sigBytes = SQRL.FromBase64URL(ids);
            var keyBytes = SQRL.FromBase64URL(idk);

            var result = Sodium.PublicKeyAuth.VerifyDetached(sigBytes, msgBytes, keyBytes);

            Assert.IsTrue(result);
        }