#pragma warning restore CS3016 // Arrays as attribute arguments is not CLS-compliant public void JwtSigning(JwtSigningTestParams testParams) { var providerForSigning = CryptoProviderFactory.Default.CreateForSigning(testParams.PrivateKey, testParams.Algorithm); var providerForVerifying = CryptoProviderFactory.Default.CreateForVerifying(testParams.PublicKey, testParams.Algorithm); var signatureBytes = providerForSigning.Sign(Encoding.UTF8.GetBytes(testParams.EncodedData)); var encodedSignature = Base64UrlEncoder.Encode(signatureBytes); Assert.True(testParams.EncodedSignature.Equals(encodedSignature, StringComparison.Ordinal), "encodedSignature != testParams.EncodedSignature"); Assert.True(providerForVerifying.Verify(Encoding.UTF8.GetBytes(testParams.EncodedData), Base64UrlEncoder.DecodeBytes(testParams.EncodedSignature)), "Verify Failed"); }
public void JwtSigning(JwtSigningTestParams testParams) { var providerForSigning = CryptoProviderFactory.Default.CreateForSigning(testParams.PrivateKey, testParams.Algorithm); var providerForVerifying = CryptoProviderFactory.Default.CreateForVerifying(testParams.PublicKey, testParams.Algorithm); var signatureBytes = providerForSigning.Sign(Encoding.UTF8.GetBytes(testParams.EncodedData)); var encodedSignature = Base64UrlEncoder.Encode(signatureBytes); // Signatures aren't necessarily deterministic across different algorithms if (testParams.DeterministicSignatures) { Assert.True(testParams.EncodedSignature.Equals(encodedSignature), "encodedSignature != testParams.EncodedSignature"); } Assert.True(providerForVerifying.Verify(Encoding.UTF8.GetBytes(testParams.EncodedData), Base64UrlEncoder.DecodeBytes(testParams.EncodedSignature)), "Verify Failed"); }