[ https://issues.apache.org/jira/browse/CXF-6962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15362698#comment-15362698 ]
Chris Dolphy commented on CXF-6962: ----------------------------------- Can workaround this issue with a custom auth supplier that does: public static String getBasicAuthHeader(String userName, String passwd) { String userAndPass = userName + ":" + passwd; try { return "Basic " + Base64Utility.encode(userAndPass.getBytes("ISO-8859-1")); } catch (java.io.UnsupportedEncodingException e) { return "Basic " + Base64Utility.encode(userAndPass.getBytes()); } } and setting it with http.setAuthSupplier(new CustomBasicAuthSupplier()); > Basic auth uses UTF-8 for the encoded password when it should use ISO-8859-1 > ---------------------------------------------------------------------------- > > Key: CXF-6962 > URL: https://issues.apache.org/jira/browse/CXF-6962 > Project: CXF > Issue Type: Bug > Affects Versions: 2.7.18, 3.1.6 > Reporter: Chris Dolphy > > Basic auth uses UTF-8 for the encoded password when it should use ISO-8859-1. > Also (or instead), implement RFC 7617 which allows a server to indicate it > does support UTF-8. > The RFC that covers Basic authentication says that the authentication header > contains base 64 encoded TEXT [1]. The TEXT format needs to be read under > the HTTP specification [2] which says: > The TEXT rule is only used for descriptive field contents and values > that are not intended to be interpreted by the message parser. Words > of *TEXT MAY contain characters from character sets other than ISO- > 8859-1 [22] only when encoded according to the rules of RFC 2047 > [14]. > RFC 2047 describes an encoding method that embeds the encoded string in "=?" > and "?=". But it appears no implementation of HTTP is doing this. Certainly > no browser is doing this. > [1] http://tools.ietf.org/html/rfc2617#section-2 -- This message was sent by Atlassian JIRA (v6.3.4#6332)