X.509証明書のCNと一致させるために正規表現を使用しようとしています。
文字列全体は次のようになります。
CN = JASON、OU = MYOU、O = MYORG
動作しないコードは次のとおりです。
Object certChain = request
.getAttribute("javax.servlet.request.X509Certificate");
String name = "";
if (certChain != null) {
X509Certificate certs[] = (X509Certificate[]) certChain;
X509Certificate cert = certs[0];
name = cert.getSubjectDN().getName();
}
String strPattern = "CN=(.*?),";
Pattern pattern = Pattern.compile(strPattern);
Matcher matcher = pattern.matcher(name);
String cname = "";
if (matcher.matches()) {
cname = matcher.group(1);
}
Matcher.matches()はfalseを返しますが、パターンに問題はありません。誰か助けてもらえますか?
ジェイソン