public void CompareJwkThumbprints(JsonWebKeyConverterTheoryData theoryData) { var context = TestUtilities.WriteHeader($"{this}.CompareJwkThumbprints", theoryData); try { JsonWebKey convertedKey; if (theoryData.SecurityKey is X509SecurityKey x509SecurityKey) { convertedKey = JsonWebKeyConverter.ConvertFromX509SecurityKey(x509SecurityKey, true); } else { convertedKey = JsonWebKeyConverter.ConvertFromSecurityKey(theoryData.SecurityKey); } theoryData.ExpectedException.ProcessNoException(context); IdentityComparer.AreBytesEqual(convertedKey.ComputeJwkThumbprint(), theoryData.SecurityKey.ComputeJwkThumbprint(), context); } catch (Exception ex) { theoryData.ExpectedException.ProcessException(ex, context); } TestUtilities.AssertFailIfErrors(context); }
public void ConvertJsonWebKeyToSecurityKey(JsonWebKeyConverterTheoryData theoryData) { var context = TestUtilities.WriteHeader($"{this}.ConvertJsonWebKeyToSecurityKey", theoryData); try { var wasConverted = JsonWebKeyConverter.TryConvertToSecurityKey(theoryData.JsonWebKey, out SecurityKey securityKey); theoryData.ExpectedException.ProcessNoException(context); IdentityComparer.AreEqual(securityKey, theoryData.SecurityKey, context); if (theoryData.JsonWebKey.ConvertedSecurityKey.GetType() != theoryData.SecurityKey.GetType()) { context.AddDiff($"theoryData.JsonWebKey.RelatedSecurityKey.GetType(): '{theoryData.JsonWebKey.ConvertedSecurityKey.GetType()}' != theoryData.SecurityKey.GetType(): '{theoryData.SecurityKey.GetType()}'."); } } catch (Exception ex) { theoryData.ExpectedException.ProcessException(ex, context); } TestUtilities.AssertFailIfErrors(context); }
public void ConvertX509SecurityKeyAsRsaSecurityKeyToJsonWebKey(JsonWebKeyConverterTheoryData theoryData) { var context = TestUtilities.WriteHeader($"{this}.ConvertX509SecurityKeyToJsonWebKeyTheoryData", theoryData); try { var convertedKey = JsonWebKeyConverter.ConvertFromX509SecurityKey(theoryData.SecurityKey as X509SecurityKey, theoryData.RepresentAsRsaKey); theoryData.ExpectedException.ProcessNoException(context); IdentityComparer.AreEqual(convertedKey, theoryData.JsonWebKey, context); var expectedConvertedKeyType = theoryData.RepresentAsRsaKey == true ? typeof(RsaSecurityKey) : typeof(X509SecurityKey); if (convertedKey.ConvertedSecurityKey.GetType() != expectedConvertedKeyType) { context.AddDiff($"convertedKey.ConvertedSecurityKey.GetType(): '{convertedKey.ConvertedSecurityKey.GetType()}' != expectedConvertedKeyType: '{expectedConvertedKeyType}'."); } } catch (Exception ex) { theoryData.ExpectedException.ProcessException(ex, context); } TestUtilities.AssertFailIfErrors(context); }