public String none() { byte[] data = marshalContent(); return encode(Algorithm.none, data, null); } public String rsa256(PrivateKey privateKey)
public EncodingBuilder content(byte[] bytes) { this.contentBytes = bytes; return new EncodingBuilder(); }
public String hmac512(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS512, sharedSecret); return encode(Algorithm.HS512, data, signature); }
public static boolean verify(JWSInput input, byte[] sharedSecret) { try { byte[] signature = sign(input.getContent(), input.getHeader().getAlgorithm(), sharedSecret); String x = Base64Url.encode(signature); return x.equals(input.getEncodedSignature()); } catch (Exception e) { throw new RuntimeException(e); } }
public static boolean verify(JWSInput input, PublicKey publicKey) { try { Signature verifier = getSignature(input.getHeader().getAlgorithm()); verifier.initVerify(publicKey); verifier.update(input.getContent()); return verifier.verify(input.getSignature()); } catch (Exception e) { throw new RuntimeException(e); } }
@SuppressWarnings("unchecked") public <T> T readContent(Class<T> type) { MediaType mediaType = MediaType.WILDCARD_TYPE; if (header.getContentType() != null) { mediaType = MediaType.valueOf(header.getContentType()); } return (T) readContent(type, null, null, mediaType); }
public String rsa384(PrivateKey privateKey) { byte[] data = marshalContent(); byte[] signature = RSAProvider.sign(data, Algorithm.RS384, privateKey); return encode(Algorithm.RS384, data, signature); } public String rsa512(PrivateKey privateKey)
protected String encodeHeader(Algorithm alg) { StringBuilder builder = new StringBuilder("{"); builder.append("\"alg\":\"").append(alg.toString()).append("\""); if (type != null) builder.append(",\"typ\" : \"").append(type).append("\""); if (contentType != null) builder.append(",\"cty\":\"").append(contentType).append("\""); builder.append("}"); return Base64Url.encode(builder.toString().getBytes(StandardCharsets.UTF_8)); }
protected String encode(Algorithm alg, byte[] data, byte[] signature) { StringBuffer encoding = new StringBuffer(); encoding.append(encodeHeader(alg)); encoding.append('.'); encoding.append(Base64Url.encode(data)); encoding.append('.'); if (alg != Algorithm.none) { encoding.append(Base64Url.encode(signature)); } return encoding.toString(); }
public static boolean verify(JWSInput input, SecretKey key) { try { byte[] signature = sign(input.getContent(), input.getHeader().getAlgorithm(), key); String x = Base64Url.encode(signature); return x.equals(input.getEncodedSignature()); } catch (Exception e) { throw new RuntimeException(e); } }
public String hmac256(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS256, sharedSecret); return encode(Algorithm.HS256, data, signature); }
public String rsa512(PrivateKey privateKey) { byte[] data = marshalContent(); byte[] signature = RSAProvider.sign(data, Algorithm.RS512, privateKey); return encode(Algorithm.RS512, data, signature); }
public EncodingBuilder content(Object object, MediaType marshalTo) { this.content = object; this.marshalTo = marshalTo; return new EncodingBuilder(); }
public String hmac256(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS256, sharedSecret); return encode(Algorithm.HS256, data, signature); }
public String rsa256(PrivateKey privateKey) { byte[] data = marshalContent(); byte[] signature = RSAProvider.sign(data, Algorithm.RS256, privateKey); return encode(Algorithm.RS256, data, signature); } public String rsa384(PrivateKey privateKey)
public EncodingBuilder content(byte[] bytes) { this.contentBytes = bytes; return new EncodingBuilder(); }
public String hmac512(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS512, sharedSecret); return encode(Algorithm.HS512, data, signature); }
public EncodingBuilder content(Object object, MediaType marshalTo) { this.content = object; this.marshalTo = marshalTo; return new EncodingBuilder(); }
public String hmac384(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS384, sharedSecret); return encode(Algorithm.HS384, data, signature); }
public String hmac384(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS384, sharedSecret); return encode(Algorithm.HS384, data, signature); }