public static void addDeflateSignatureToHTTPQueryString(StringBuilder httpQueryString, X509Credential cred) throws SSOAgentException { doBootstrap(); try { httpQueryString.append("&SigAlg=" + URLEncoder.encode(XMLSignature.ALGO_ID_SIGNATURE_RSA, "UTF-8").trim()); java.security.Signature signature = java.security.Signature.getInstance("SHA1withRSA"); signature.initSign(cred.getPrivateKey()); signature.update(httpQueryString.toString().getBytes(Charset.forName("UTF-8"))); byte[] signatureByteArray = signature.sign(); String signatureBase64encodedString = Base64.encodeBytes(signatureByteArray, Base64.DONT_BREAK_LINES); httpQueryString.append("&Signature=" + URLEncoder.encode(signatureBase64encodedString, "UTF-8").trim()); } catch (Exception e) { throw new SSOAgentException("Error applying SAML2 Redirect Binding signature", e); } }
public static void addDeflateSignatureToHTTPQueryString(StringBuilder httpQueryString, X509Credential cred) throws SSOAgentException { doBootstrap(); try { httpQueryString.append("&SigAlg=" + URLEncoder.encode(XMLSignature.ALGO_ID_SIGNATURE_RSA, "UTF-8").trim()); java.security.Signature signature = java.security.Signature.getInstance("SHA1withRSA"); signature.initSign(cred.getPrivateKey()); signature.update(httpQueryString.toString().getBytes(Charset.forName("UTF-8"))); byte[] signatureByteArray = signature.sign(); String signatureBase64encodedString = Base64.encodeBytes(signatureByteArray, Base64.DONT_BREAK_LINES); httpQueryString.append("&Signature=" + URLEncoder.encode(signatureBase64encodedString, "UTF-8").trim()); } catch (Exception e) { throw new SSOAgentException("Error applying SAML2 Redirect Binding signature", e); } }
/** * Credential used for authentication of the server/client. * * @param credential credential or null for manager returning always empty values */ public X509KeyManager(X509Credential credential) { if (credential != null) { this.privateKey = credential.getPrivateKey(); this.chain = credential.getEntityCertificateChain().toArray(new X509Certificate[credential.getEntityCertificateChain().size()]); this.alias = ALIAS_NAME; this.aliases = ALIAS; } else { this.privateKey = null; this.chain = null; this.alias = null; this.aliases = null; } }
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(null, null); keystore.setKeyEntry("ldap_tls_client_auth", connectionCredential.getPrivateKey(), "changeit" .toCharArray(), connectionCredential.getEntityCertificateChain() .toArray(new X509Certificate[0]));