public String none() { byte[] data = marshalContent(); return encode(Algorithm.none, data, null); } public String rsa256(PrivateKey privateKey)
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(); }
protected String buildTokenString(PrivateKey privateKey, SkeletonKeyToken token) { byte[] tokenBytes = null; try { tokenBytes = JsonSerialization.toByteArray(token, false); } catch (Exception e) { throw new RuntimeException(e); } return new JWSBuilder() .content(tokenBytes) .rsa256(privateKey); }
protected AccessTokenResponse accessTokenResponse(PrivateKey privateKey, SkeletonKeyToken token) { byte[] tokenBytes = null; try { tokenBytes = JsonSerialization.toByteArray(token, false); } catch (Exception e) { throw new RuntimeException(e); } String encodedToken = new JWSBuilder() .content(tokenBytes) .rsa256(privateKey); AccessTokenResponse res = new AccessTokenResponse(); res.setToken(encodedToken); res.setTokenType("bearer"); if (token.getExpiration() != 0) { long time = token.getExpiration() - (System.currentTimeMillis() / 1000); res.setExpiresIn(time); } return res; }
public String hmac512(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS512, sharedSecret); return encode(Algorithm.HS512, data, signature); }
accessCode = new JWSBuilder().content(code.getId().getBytes(StandardCharsets.UTF_8)).rsa256(realm.getPrivateKey()); UriBuilder redirectUri = UriBuilder.fromUri(redirect).queryParam("code", accessCode); if (state != null) redirectUri.queryParam("state", state);
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 String hmac256(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS256, sharedSecret); return encode(Algorithm.HS256, data, signature); }
protected void redirectAccessCode(boolean sso, Response response, String redirect_uri, String client_id, String state, GenericPrincipal gp) throws IOException { SkeletonKeyToken token = buildToken(gp); AccessCode code = new AccessCode(); code.setToken(token); code.setClient(client_id); code.setSso(sso); code.setRedirect(redirect_uri); int expiration = skeletonKeyConfig.getAccessCodeLifetime() == 0 ? 300 : skeletonKeyConfig.getAccessCodeLifetime(); code.setExpiration((System.currentTimeMillis() / 1000) + expiration); accessCodeMap.put(code.getId(), code); LogMessages.LOGGER.debug(Messages.MESSAGES.signAccessCode()); String accessCode = null; accessCode = new JWSBuilder().content(code.getId().getBytes(StandardCharsets.UTF_8)).rsa256(realmPrivateKey); LogMessages.LOGGER.debug(Messages.MESSAGES.buildRedirect()); UriBuilder redirectUri = UriBuilder.fromUri(redirect_uri).queryParam("code", accessCode); if (state != null) redirectUri.queryParam("state", state); response.sendRedirect(redirectUri.toTemplate()); LogMessages.LOGGER.debug(Messages.MESSAGES.endOAuthAuthenticate()); }
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)
public String hmac256(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS256, sharedSecret); return encode(Algorithm.HS256, data, signature); }
public String hmac384(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS384, sharedSecret); return encode(Algorithm.HS384, 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 String hmac512(SecretKey sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS512, sharedSecret); return encode(Algorithm.HS512, 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 String hmac384(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS384, sharedSecret); return encode(Algorithm.HS384, data, signature); }
public String none() { byte[] data = marshalContent(); return encode(Algorithm.none, data, null); } public String rsa256(PrivateKey privateKey)
public String rsa512(PrivateKey privateKey) { byte[] data = marshalContent(); byte[] signature = RSAProvider.sign(data, Algorithm.RS512, privateKey); return encode(Algorithm.RS512, data, signature); }
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)
public String hmac512(byte[] sharedSecret) { byte[] data = marshalContent(); byte[] signature = HMACProvider.sign(data, Algorithm.HS512, sharedSecret); return encode(Algorithm.HS512, data, signature); }