diff --git a/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java b/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java index b085e49f4ea..e2c77b90786 100644 --- a/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java +++ b/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java @@ -218,14 +218,14 @@ public class SAMLUtils { public static String generateSAMLRequestSignature(String urlEncodedString, PrivateKey signingKey) throws NoSuchAlgorithmException, SignatureException, InvalidKeyException, UnsupportedEncodingException { - if (signingKey == null || urlEncodedString == null) { - return null; + if (signingKey == null) { + return urlEncodedString; } String url = urlEncodedString + "&SigAlg=" + URLEncoder.encode(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1, HttpUtils.UTF_8); Signature signature = Signature.getInstance("SHA1withRSA"); signature.initSign(signingKey); signature.update(url.getBytes()); - return URLEncoder.encode(Base64.encodeBytes(signature.sign(), Base64.DONT_BREAK_LINES), HttpUtils.UTF_8); + return url + "&Signature=" + URLEncoder.encode(Base64.encodeBytes(signature.sign(), Base64.DONT_BREAK_LINES), HttpUtils.UTF_8); } public static KeyFactory getKeyFactory() {