Beispiel #1
0
        public void JwkEqualsTests()
        {
            // Not equal keys, second key is null
            JsonWebKey key1 = new JsonWebKey();
            JsonWebKey key2 = null;

            Assert.False(key1.Equals(key2));

            // Not equal keys, their operations are different and need to handle null
            key2        = new JsonWebKey();
            key1.KeyOps = new[] { "ops" };
            key2.KeyOps = null;
            Assert.False(key1.Equals(key2));
            key1.KeyOps = null;
            key2.KeyOps = new[] { "ops" };
            Assert.False(key1.Equals(key2));

            // Equal keys, fields are null
            key1 = new JsonWebKey();
            key2 = new JsonWebKey();
            Assert.True(key1.Equals(key2));

            // Equal keys with most fields are set to a value.
            var param = RSA.Create().ExportParameters(true);

            key1        = new JsonWebKey(param);
            key2        = new JsonWebKey(param);
            key1.KeyOps = new[] { "ops1", "ops2" };
            key2.KeyOps = new[] { "ops1", "ops2" };
            Assert.True(key1.Equals(key2));
        }
Beispiel #2
0
 /// <summary>
 /// Verifies web keys are equal
 /// </summary>
 /// <param name="webKey1"> first web key </param>
 /// <param name="webKey2"> second web key </param>
 private void VerifyWebKeysAreEqual(JsonWebKey webKey1, JsonWebKey webKey2)
 {
     Assert.True(webKey1.Equals(webKey2));
     Assert.Equal(webKey1.Kid, webKey2.Kid);
     Assert.Equal(webKey1.Kty, webKey2.Kty);
 }