| | |
| | | SortedSet<DN> baseDNSet = configuration.getBaseDN(); |
| | | if (baseDNSet.size() != 1) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_REQUIRES_ONE_BASE_DN.get( |
| | | String.valueOf(configEntryDN)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException(ERR_TRUSTSTORE_REQUIRES_ONE_BASE_DN.get(configEntryDN)); |
| | | } |
| | | baseDN = baseDNSet.first(); |
| | | baseDNs = new DN[] {baseDN}; |
| | |
| | | catch (KeyStoreException kse) |
| | | { |
| | | logger.traceException(kse); |
| | | |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_TYPE. |
| | | get(String.valueOf(trustStoreType), String.valueOf(configEntryDN), |
| | | getExceptionMessage(kse)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException(ERR_TRUSTSTORE_INVALID_TYPE.get( |
| | | trustStoreType, configEntryDN, getExceptionMessage(kse))); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_FILE_CANNOT_CREATE.get( |
| | | String.valueOf(pinFilePath), String.valueOf(configEntryDN)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException( |
| | | ERR_TRUSTSTORE_PIN_FILE_CANNOT_CREATE.get(pinFilePath, configEntryDN)); |
| | | } |
| | | } |
| | | else |
| | |
| | | catch (IOException ioe) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_FILE_CANNOT_READ. |
| | | get(String.valueOf(pinFilePath), |
| | | String.valueOf(configEntryDN), getExceptionMessage(ioe)); |
| | | get(pinFilePath, configEntryDN, getExceptionMessage(ioe)); |
| | | throw new InitializationException(message, ioe); |
| | | } |
| | | finally |
| | |
| | | |
| | | if (pinStr == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_FILE_EMPTY.get( |
| | | String.valueOf(pinFilePath), String.valueOf(configEntryDN)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException( |
| | | ERR_TRUSTSTORE_PIN_FILE_EMPTY.get(pinFilePath, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | String pinStr = System.getenv(pinEnVar); |
| | | if (pinStr == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get( |
| | | String.valueOf(pinProperty), String.valueOf(configEntryDN)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException( |
| | | ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get(pinProperty, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | String pinStr = System.getProperty(pinProperty); |
| | | if (pinStr == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get( |
| | | String.valueOf(pinProperty), String.valueOf(configEntryDN)); |
| | | throw new InitializationException(message); |
| | | throw new InitializationException(ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get(pinProperty, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | catch (Exception e) |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | LocalizableMessage message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | String.valueOf(baseDN), String.valueOf(e)); |
| | | throw new InitializationException(message, e); |
| | | throw new InitializationException(ERR_BACKEND_CANNOT_REGISTER_BASEDN.get(baseDN, e), e); |
| | | } |
| | | } |
| | | |
| | |
| | | AttributeValue v = entryDN.rdn().getAttributeValue(t); |
| | | if (v == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE. |
| | | get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | baseDN, null); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, baseDN, null); |
| | | } |
| | | |
| | | String certAlias = v.getValue().toString(); |
| | |
| | | Certificate cert = certificateManager.getCertificate(certAlias); |
| | | if (cert == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_CERTIFICATE_NOT_FOUND.get( |
| | | String.valueOf(entryDN), certAlias); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_CERTIFICATE_NOT_FOUND.get(entryDN, certAlias); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | certValue = ByteString.wrap(cert.getEncoded()); |
| | |
| | | |
| | | if (entryDN.equals(baseDN)) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if (entryDN.equals(baseDN)) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | DN parentDN = entryDN.getParentDNInSuffix(); |
| | | if (parentDN == null || !parentDN.equals(baseDN)) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(String.valueOf(baseDN)); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(baseDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | } |
| | |
| | | File f = getFileForPath(newTrustStoreFile); |
| | | if (!(f.exists() && f.isFile())) |
| | | { |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_NO_SUCH_FILE.get( |
| | | String.valueOf(newTrustStoreFile), |
| | | String.valueOf(cfgEntryDN))); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_NO_SUCH_FILE.get(newTrustStoreFile, cfgEntryDN)); |
| | | configAcceptable = false; |
| | | } |
| | | } |
| | |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_CANNOT_DETERMINE_FILE.get( |
| | | String.valueOf(cfgEntryDN), |
| | | getExceptionMessage(e))); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_CANNOT_DETERMINE_FILE.get(cfgEntryDN, getExceptionMessage(e))); |
| | | configAcceptable = false; |
| | | } |
| | | |
| | |
| | | { |
| | | logger.traceException(kse); |
| | | |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_TYPE.get( |
| | | String.valueOf(storeType), |
| | | String.valueOf(cfgEntryDN), |
| | | getExceptionMessage(kse)); |
| | | unacceptableReasons.add(message); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_INVALID_TYPE.get( |
| | | storeType, cfgEntryDN, getExceptionMessage(kse))); |
| | | configAcceptable = false; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (System.getProperty(pinProp) == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get( |
| | | String.valueOf(pinProp), |
| | | String.valueOf(cfgEntryDN)); |
| | | unacceptableReasons.add(message); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get(pinProp, cfgEntryDN)); |
| | | configAcceptable = false; |
| | | } |
| | | } |
| | |
| | | { |
| | | if (System.getenv(pinEnVar) == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get( |
| | | String.valueOf(pinEnVar), |
| | | String.valueOf(cfgEntryDN)); |
| | | unacceptableReasons.add(message); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get(pinEnVar, cfgEntryDN)); |
| | | configAcceptable = false; |
| | | } |
| | | } |
| | |
| | | } |
| | | catch (IOException ioe) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_FILE_CANNOT_READ.get( |
| | | String.valueOf(pinFile), |
| | | String.valueOf(cfgEntryDN), |
| | | getExceptionMessage(ioe)); |
| | | unacceptableReasons.add(message); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_PIN_FILE_CANNOT_READ.get( |
| | | pinFile, cfgEntryDN, getExceptionMessage(ioe))); |
| | | configAcceptable = false; |
| | | } |
| | | finally |
| | |
| | | |
| | | if (pinStr == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_PIN_FILE_EMPTY.get( |
| | | String.valueOf(pinFile), |
| | | String.valueOf(cfgEntryDN)); |
| | | unacceptableReasons.add(message); |
| | | unacceptableReasons.add(ERR_TRUSTSTORE_PIN_FILE_EMPTY.get(pinFile, cfgEntryDN)); |
| | | configAcceptable = false; |
| | | } |
| | | } |
| | |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_NO_SUCH_FILE.get( |
| | | String.valueOf(newTrustStoreFile), |
| | | String.valueOf(configEntryDN))); |
| | | messages.add(ERR_TRUSTSTORE_NO_SUCH_FILE.get(newTrustStoreFile, configEntryDN)); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | logger.traceException(kse); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_INVALID_TYPE.get( |
| | | String.valueOf(newTrustStoreType), |
| | | String.valueOf(configEntryDN), |
| | | getExceptionMessage(kse))); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_INVALID_TYPE.get(newTrustStoreType, configEntryDN, getExceptionMessage(kse))); |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | } |
| | | |
| | |
| | | catch (Exception e) |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_PIN_FILE_CANNOT_CREATE.get( |
| | | String.valueOf(newPINFile), |
| | | String.valueOf(configEntryDN))); |
| | | messages.add(ERR_TRUSTSTORE_PIN_FILE_CANNOT_CREATE.get(newPINFile, configEntryDN)); |
| | | } |
| | | } |
| | | else |
| | |
| | | catch (IOException ioe) |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_PIN_FILE_CANNOT_READ.get( |
| | | String.valueOf(newPINFile), |
| | | String.valueOf(configEntryDN), |
| | | getExceptionMessage(ioe))); |
| | | newPINFile, configEntryDN, getExceptionMessage(ioe))); |
| | | } |
| | | finally |
| | | { |
| | |
| | | if (pinStr == null) |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_PIN_FILE_EMPTY.get( |
| | | String.valueOf(newPINFile), |
| | | String.valueOf(configEntryDN))); |
| | | messages.add(ERR_TRUSTSTORE_PIN_FILE_EMPTY.get(newPINFile, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | if (pinStr == null) |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get( |
| | | String.valueOf(newPINEnVar), |
| | | String.valueOf(configEntryDN))); |
| | | messages.add(ERR_TRUSTSTORE_PIN_ENVAR_NOT_SET.get(newPINEnVar, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | if (pinStr == null) |
| | | { |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | |
| | | messages.add(ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get( |
| | | String.valueOf(newPINProperty), |
| | | String.valueOf(configEntryDN))); |
| | | messages.add(ERR_TRUSTSTORE_PIN_PROPERTY_NOT_SET.get(newPINProperty, configEntryDN)); |
| | | } |
| | | else |
| | | { |
| | |
| | | AttributeValue v = entryDN.rdn().getAttributeValue(t); |
| | | if (v == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE.get( |
| | | String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | baseDN, null); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, baseDN, null); |
| | | } |
| | | String certAlias = v.getValue().toString(); |
| | | |
| | |
| | | { |
| | | if (certificateManager.aliasInUse(certAlias)) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_ALIAS_IN_USE.get( |
| | | String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, |
| | | message); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_ALIAS_IN_USE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS, message); |
| | | } |
| | | |
| | | ObjectClass ocSelfSignedCertRequest = |
| | |
| | | if (certAttrs == null) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_TRUSTSTORE_ENTRY_MISSING_CERT_ATTR.get( |
| | | String.valueOf(entryDN), |
| | | ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | ERR_TRUSTSTORE_ENTRY_MISSING_CERT_ATTR.get(entryDN, ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | } |
| | | if (certAttrs.size() != 1) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_TRUSTSTORE_ENTRY_HAS_MULTIPLE_CERT_ATTRS.get( |
| | | String.valueOf(entryDN), |
| | | ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | ERR_TRUSTSTORE_ENTRY_HAS_MULTIPLE_CERT_ATTRS.get(entryDN, ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | } |
| | |
| | | if (!i.hasNext()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_TRUSTSTORE_ENTRY_MISSING_CERT_VALUE.get( |
| | | String.valueOf(entryDN), |
| | | ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | ERR_TRUSTSTORE_ENTRY_MISSING_CERT_VALUE.get(entryDN, ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | } |
| | |
| | | if (i.hasNext()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_TRUSTSTORE_ENTRY_HAS_MULTIPLE_CERT_VALUES.get( |
| | | String.valueOf(entryDN), |
| | | ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | ERR_TRUSTSTORE_ENTRY_HAS_MULTIPLE_CERT_VALUES.get(entryDN, ATTR_CRYPTO_PUBLIC_KEY_CERTIFICATE); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message); |
| | | } |
| | |
| | | AttributeValue v = entryDN.rdn().getAttributeValue(t); |
| | | if (v == null) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE.get( |
| | | String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | baseDN, null); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_DN_DOES_NOT_SPECIFY_CERTIFICATE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, baseDN, null); |
| | | } |
| | | String certAlias = v.getValue().toString(); |
| | | |
| | |
| | | { |
| | | if (!certificateManager.aliasInUse(certAlias)) |
| | | { |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get( |
| | | String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, |
| | | message); |
| | | LocalizableMessage message = ERR_TRUSTSTORE_INVALID_BASE.get(entryDN); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message); |
| | | } |
| | | |
| | | certificateManager.removeCertificate(certAlias); |