| | |
| | | import java.util.Collection; |
| | | import java.util.Collections; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.api.EqualityMatchingRule; |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.opends.server.loggers.ErrorLogger; |
| | |
| | | catch (CertificateException ce) |
| | | { |
| | | // There seems to be a problem while parsing the certificate. |
| | | Message message = WARN_CERTIFICATE_MATCH_PARSE_ERROR.get(ce.getMessage()); |
| | | LocalizableMessage message = WARN_CERTIFICATE_MATCH_PARSE_ERROR.get(ce.getMessage()); |
| | | if (debugEnabled()) |
| | | { |
| | | TRACER.debugWarning(message.toString()); |
| | |
| | | // We couldn't normalize the DN for some reason. If we're supposed to use |
| | | // strict syntax enforcement, then throw an exception. Otherwise, log a |
| | | // message and just try our best. |
| | | Message message = ERR_CERTIFICATE_MATCH_INVALID_DN.get( |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_INVALID_DN.get( |
| | | dnstring, getExceptionMessage(e)); |
| | | |
| | | switch (DirectoryServer.getSyntaxEnforcementPolicy()) |
| | |
| | | identifier = parser.nextNamedValueIdentifier(); |
| | | if (!identifier.equals(GSER_ID_SERIALNUMBER)) |
| | | { |
| | | Message message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | .get(GSER_ID_SERIALNUMBER); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message); |
| | |
| | | identifier = parser.nextNamedValueIdentifier(); |
| | | if (!identifier.equals(GSER_ID_ISSUER)) |
| | | { |
| | | Message message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | .get(GSER_ID_ISSUER); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message); |
| | |
| | | identifier = parser.nextChoiceValueIdentifier(); |
| | | if (!identifier.equals(GSER_ID_RDNSEQUENCE)) |
| | | { |
| | | Message message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_IDENTIFIER_NOT_FOUND |
| | | .get(GSER_ID_RDNSEQUENCE); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message); |
| | |
| | | // There should not be additional characters |
| | | if (parser.hasNext()) |
| | | { |
| | | Message message = ERR_CERTIFICATE_MATCH_EXPECTED_END.get(); |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_EXPECTED_END.get(); |
| | | switch (DirectoryServer.getSyntaxEnforcementPolicy()) |
| | | { |
| | | case REJECT: |
| | |
| | | } |
| | | catch (GSERException e) |
| | | { |
| | | Message message = ERR_CERTIFICATE_MATCH_GSER_INVALID.get( |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_GSER_INVALID.get( |
| | | getExceptionMessage(e)); |
| | | throw new DirectoryException(ResultCode.INVALID_ATTRIBUTE_SYNTAX, |
| | | message); |
| | |
| | | // We couldn't normalize the DN for some reason. If we're supposed to use |
| | | // strict syntax enforcement, then throw an exception. Otherwise, log a |
| | | // message and just try our best. |
| | | Message message = ERR_CERTIFICATE_MATCH_INVALID_DN.get( |
| | | LocalizableMessage message = ERR_CERTIFICATE_MATCH_INVALID_DN.get( |
| | | dnstring, getExceptionMessage(e)); |
| | | |
| | | switch (DirectoryServer.getSyntaxEnforcementPolicy()) |