GUACAMOLE-362: Set encoding of ticket validator to UTF-8.
Project: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/commit/17599d91 Tree: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/tree/17599d91 Diff: http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/diff/17599d91 Branch: refs/heads/staging/0.9.14-incubating Commit: 17599d9153131fdac94bc17c28e07af487955582 Parents: 3d09141 Author: Nick Couchman <vn...@apache.org> Authored: Sun Oct 1 08:17:10 2017 -0400 Committer: Nick Couchman <nick.couch...@yahoo.com> Committed: Fri Oct 27 13:05:13 2017 -0400 ---------------------------------------------------------------------- .../guacamole/auth/cas/ticket/TicketValidationService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-guacamole-client/blob/17599d91/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java ---------------------------------------------------------------------- diff --git a/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java b/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java index 009f955..515deed 100644 --- a/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java +++ b/extensions/guacamole-auth-cas/src/main/java/org/apache/guacamole/auth/cas/ticket/TicketValidationService.java @@ -27,6 +27,7 @@ import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; +import java.nio.charset.Charset; import javax.xml.bind.DatatypeConverter; import org.apache.guacamole.GuacamoleException; import org.apache.guacamole.GuacamoleServerException; @@ -83,6 +84,7 @@ public class TicketValidationService { String casServerUrl = confService.getAuthorizationEndpoint(); Cas20ProxyTicketValidator validator = new Cas20ProxyTicketValidator(casServerUrl); validator.setAcceptAnyProxy(true); + validator.setEncoding("UTF-8"); try { String confRedirectURI = confService.getRedirectURI(); Assertion a = validator.validate(ticket, confRedirectURI); @@ -155,7 +157,7 @@ public class TicketValidationService { // Decode and decrypt, and return a new string. final byte[] pass64 = DatatypeConverter.parseBase64Binary(encryptedPassword); final byte[] cipherData = cipher.doFinal(pass64); - return new String(cipherData); + return new String(cipherData, Charset.forName("UTF-8")); } catch (BadPaddingException e) {