あなたが参照しているパスワードは、ログイン中にユーザーが提供したものとはおそらく異なります。ユースケースは質問から明確ではありませんが、外部ユーザーから提供されたユーザー名/パスワードを使用して JMS 接続ファクトリーへの接続を作成しようとしているようです。これは、アーキテクチャ的に安全とは思えません。保護する必要がある ConnectionFactory への接続には、資格情報を 1 つだけ使用する必要があります (db 接続のように扱います)。JNDI を使用して ConnectionFactory をルックアップし、ユーザー名/パスワード管理をバイパスすることをお勧めします。
ただし、この手法を使用する必要がある場合は、次のコード ブロックを使用できます。Eclipse で開いていたので、Gitblit プロジェクトからコピーしています。
Java8 Base64 クラスの使用:
final String authorization = httpRequest.getHeader("Authorization");
if (authorization != null && authorization.toLowerCase().startsWith("basic")) {
// Authorization: Basic base64credentials
String base64Credentials = authorization.substring("Basic".length()).trim();
byte[] credDecoded = Base64.getDecoder().decode(base64Credentials);
String credentials = new String(credDecoded, StandardCharsets.UTF_8);
// credentials = username:password
final String[] values = credentials.split(":", 2);
}