public JwsMessage Encode <TPayload>(TPayload payload, JwsHeader protectedHeader) { protectedHeader.Algorithm = "RS256"; if (_jwk.KeyId != null) { protectedHeader.KeyId = _jwk.KeyId; } else { protectedHeader.Key = _jwk; } var message = new JwsMessage { Payload = Base64UrlEncoded(JsonConvert.SerializeObject(payload)), Protected = Base64UrlEncoded(JsonConvert.SerializeObject(protectedHeader)) }; message.Signature = Base64UrlEncoded( _rsa.SignData(Encoding.ASCII.GetBytes(message.Protected + "." + message.Payload), HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1)); return(message); }
public JwsMessage Encode <TPayload, THeader>(TPayload payload, THeader protectedHeader) { var message = new JwsMessage { Header = new JwsHeader("RS256", jwk), Payload = Base64UrlEncoded(JsonConvert.SerializeObject(payload)), Protected = Base64UrlEncoded(JsonConvert.SerializeObject(protectedHeader)) }; message.Signature = Base64UrlEncoded( rsa.SignData(Encoding.ASCII.GetBytes(message.Protected + "." + message.Payload), HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1)); return(message); }