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); } }
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); } }