sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedSamlMessage, urlEncodedRelayState, signingKey));
/** * Generate a Destination URL for the HTTPRedirect binding with the saml response and relay state * * @param urlEncodedResponse * @param urlEncodedRelayState * @return */ public String getDestination(String urlEncodedResponse, String urlEncodedRelayState, boolean supportSignature, boolean sendRequest, boolean errorResponse) { StringBuilder sb = new StringBuilder(); // Signatures are generated only for error response (Signing of normal response is already done by // SAML2SignatureGenerationHandler) if (supportSignature && errorResponse) { try { sb.append("?"); sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey())); } catch (Exception e) { logger.trace(e); } } else { if (sendRequest) sb.append("?SAMLRequest=").append(urlEncodedResponse); else sb.append("?SAMLResponse=").append(urlEncodedResponse); if (isNotNull(urlEncodedRelayState)) sb.append("&RelayState=").append(urlEncodedRelayState); } return sb.toString(); }
sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey()));
sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey()));
try { sb.append("?"); sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey())); } catch (Exception e) {
try { sb.append("?"); //$NON-NLS-1$ sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey())); } catch (Exception e) {
try { sb.append("?"); sb.append(RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(urlEncodedResponse, urlEncodedRelayState, keyManager.getSigningKey())); } catch (Exception e) {
private String signRedirect(Document samlDocument, String relayState, KeyPair keypair, boolean willSendRequest) throws ProcessingException { try { String samlMessage = DocumentUtil.getDocumentAsString(samlDocument); String base64Request = RedirectBindingUtil.deflateBase64URLEncode(samlMessage.getBytes("UTF-8")); PrivateKey signingKey = keypair.getPrivate(); String url; // Encode relayState before signing if (isNotNull(relayState)) relayState = RedirectBindingUtil.urlEncode(relayState); if (willSendRequest) { url = RedirectBindingSignatureUtil.getSAMLRequestURLWithSignature(base64Request, relayState, signingKey); } else { url = RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(base64Request, relayState, signingKey); } return url; } catch (ConfigurationException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } catch (GeneralSecurityException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } catch (IOException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } }
url = RedirectBindingSignatureUtil.getSAMLRequestURLWithSignature(base64Request, relayState, signingKey); } else { url = RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(base64Request, relayState, signingKey);
private String signRedirect(Document samlDocument, String relayState, KeyPair keypair, boolean willSendRequest) throws ProcessingException { try { String samlMessage = DocumentUtil.getDocumentAsString(samlDocument); String base64Request = RedirectBindingUtil.deflateBase64URLEncode(samlMessage.getBytes("UTF-8")); PrivateKey signingKey = keypair.getPrivate(); String url; // Encode relayState before signing if (isNotNull(relayState)) relayState = RedirectBindingUtil.urlEncode(relayState); if (willSendRequest) { url = RedirectBindingSignatureUtil.getSAMLRequestURLWithSignature(base64Request, relayState, signingKey); } else { url = RedirectBindingSignatureUtil.getSAMLResponseURLWithSignature(base64Request, relayState, signingKey); } return url; } catch (ConfigurationException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } catch (GeneralSecurityException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } catch (IOException ce) { logger.samlHandlerErrorSigningRedirectBindingMessage(ce); throw logger.samlHandlerSigningRedirectBindingMessageError(ce); } }