When I am passing the values for KeyProvider elements from standalone-ha.xml file and if any of the values has special characters, picketlink is not able to handle those special characters.
<KeyProvider
ClassName="org.picketlink.identity.federation.core.impl.KeyStoreKeyManager">
<Auth Key="KeyStoreURL" Value="$
{keystore.url}
" />
<Auth Key="KeyStorePass" Value="$
{keystore.pass}
"/>
<Auth Key="SigningKeyPass" Value="$
{signingkey.pass}
"/>
<Auth Key="SigningKeyAlias" Value="$
{signingkey.alias}
"/>
<ValidatingAlias Key="$
{validatingalias.key}
" Value="$
{validatingalias.value}
" />
</KeyProvider>
If "signingkey.pass" value (coming from standalone-ha.xml) is "abc$$bcd", I get the following error while deploying SP.
Caused by: java.lang.IllegalArgumentException: Illegal group reference
at java.util.regex.Matcher.appendReplacement(Matcher.java:808)
at org.picketlink.identity.federation.core.util.StringUtil.getSystemPropertyAsString(StringUtil.java:116)
at org.picketlink.identity.federation.core.parsers.util.StaxParserUtil.getAttributeValue(StaxParserUtil.java:98)
at org.picketlink.identity.federation.core.parsers.config.SAMLConfigParser.populateKeyValueType(SAMLConfigParser.java:476)
at org.picketlink.identity.federation.core.parsers.config.SAMLConfigParser.parseKeyProvider(SAMLConfigParser.java:379)
at org.picketlink.identity.federation.core.parsers.config.SAMLConfigParser.parseSPConfiguration(SAMLConfigParser.java:342)
at org.picketlink.identity.federation.core.parsers.config.SAMLConfigParser.parse(SAMLConfigParser.java:119)
at org.picketlink.identity.federation.core.parsers.config.PicketLinkConfigParser.parse(PicketLinkConfigParser.java:50)
at org.picketlink.identity.federation.core.parsers.AbstractParser.parse(AbstractParser.java:111)
at org.picketlink.identity.federation.web.util.ConfigurationUtil.getConfiguration(ConfigurationUtil.java:50)
at org.picketlink.identity.federation.bindings.tomcat.sp.BaseFormAuthenticator.processConfiguration(BaseFormAuthenticator.java:445)
|