opends/src/ads/org/opends/admin/ads/ADSContextHelper.java
@@ -51,6 +51,7 @@ import org.opends.server.admin.std.meta.LDIFBackendCfgDefn; import org.opends.server.config.ConfigConstants; import org.opends.server.crypto.CryptoManager; import org.opends.server.types.CryptoManagerException; import org.opends.server.types.DN; /** @@ -277,7 +278,7 @@ throw new ADSContextException( ADSContextException.ErrorType.ERROR_UNEXPECTED, ne); } catch (CryptoManager.CryptoManagerException cme) catch (CryptoManagerException cme) { throw new ADSContextException( ADSContextException.ErrorType.ERROR_UNEXPECTED, cme); opends/src/server/org/opends/server/backends/SchemaBackend.java
@@ -80,40 +80,9 @@ import org.opends.server.schema.MatchingRuleUseSyntax; import org.opends.server.schema.NameFormSyntax; import org.opends.server.schema.ObjectClassSyntax; import org.opends.server.types.Attribute; import org.opends.server.types.AttributeType; import org.opends.server.types.AttributeValue; import org.opends.server.types.BackupConfig; import org.opends.server.types.BackupDirectory; import org.opends.server.types.BackupInfo; import org.opends.server.types.ConditionResult; import org.opends.server.types.ConfigChangeResult; import org.opends.server.crypto.CryptoManager; import org.opends.server.types.DebugLogLevel; import org.opends.server.types.DirectoryException; import org.opends.server.types.DITContentRule; import org.opends.server.types.DITStructureRule; import org.opends.server.types.DN; import org.opends.server.types.Entry; import org.opends.server.types.ExistingFileBehavior; import org.opends.server.types.IndexType; import org.opends.server.types.InitializationException; import org.opends.server.types.LDIFExportConfig; import org.opends.server.types.LDIFImportConfig; import org.opends.server.types.LDIFImportResult; import org.opends.server.types.MatchingRuleUse; import org.opends.server.types.Modification; import org.opends.server.types.ModificationType; import org.opends.server.types.NameForm; import org.opends.server.types.ObjectClass; import org.opends.server.types.ObjectClassType; import org.opends.server.types.Privilege; import org.opends.server.types.RDN; import org.opends.server.types.RestoreConfig; import org.opends.server.types.ResultCode; import org.opends.server.types.Schema; import org.opends.server.types.SearchFilter; import org.opends.server.types.SearchScope; import org.opends.server.types.CryptoManagerException; import org.opends.server.types.*; import org.opends.server.util.DynamicConstants; import org.opends.server.util.LDIFException; import org.opends.server.util.LDIFWriter; @@ -4248,7 +4217,7 @@ outputStream = cryptoManager.getCipherOutputStream(outputStream); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { if (debugEnabled()) { @@ -4621,7 +4590,7 @@ inputStream = DirectoryServer.getCryptoManager() .getCipherInputStream(inputStream); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { Message message = ERR_SCHEMA_RESTORE_CANNOT_GET_CIPHER.get( backupFile.getPath(), stackTraceToSingleLineString(e)); opends/src/server/org/opends/server/backends/jeb/BackupManager.java
@@ -30,12 +30,8 @@ import org.opends.server.config.ConfigException; import org.opends.server.core.DirectoryServer; import org.opends.server.util.DynamicConstants; import org.opends.server.types.BackupConfig; import org.opends.server.types.BackupDirectory; import org.opends.server.types.BackupInfo; import org.opends.server.crypto.CryptoManager; import org.opends.server.types.DirectoryException; import org.opends.server.types.RestoreConfig; import org.opends.server.types.CryptoManagerException; import javax.crypto.Mac; import java.io.BufferedReader; @@ -64,7 +60,7 @@ import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; import org.opends.server.types.DebugLogLevel; import org.opends.server.types.*; import static org.opends.server.loggers.ErrorLogger.logError; import static org.opends.server.loggers.debug.DebugLogger.*; import org.opends.server.loggers.debug.DebugTracer; @@ -347,7 +343,7 @@ outputStream = cryptoManager.getCipherOutputStream(outputStream); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { if (debugEnabled()) { @@ -976,7 +972,7 @@ { inputStream = cryptoManager.getCipherInputStream(inputStream); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { if (debugEnabled()) { @@ -1305,7 +1301,7 @@ { inputStream = cryptoManager.getCipherInputStream(inputStream); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { if (debugEnabled()) { opends/src/server/org/opends/server/crypto/CryptoManager.java
@@ -475,7 +475,7 @@ * @throws CryptoManagerException If the certificate cannot be * retrieved. */ public static byte[] getInstanceKeyCertificateFromLocalTruststore() static byte[] getInstanceKeyCertificateFromLocalTruststore() throws CryptoManagerException { // Construct the key entry DN. final AttributeValue distinguishedValue = new AttributeValue( @@ -566,7 +566,7 @@ * the instance-key public-key certificate or computing its MD5 * hash. */ public String getInstanceKeyID() String getInstanceKeyID() throws CryptoManagerException { return getInstanceKeyID( getInstanceKeyCertificateFromLocalTruststore()); @@ -583,6 +583,9 @@ * @return The identifier of the supplied instance key. * @throws CryptoManagerException If there is a problem computing * the identifier from the instance key. * * TODO: make package-private if ADSContextHelper can get keyID from ADS * suffix: Issue https://opends.dev.java.net/issues/show_bug.cgi?id=2442 */ public static String getInstanceKeyID(byte[] instanceKeyCertificate) throws CryptoManagerException { @@ -611,7 +614,7 @@ @throws CryptoManagerException In case there is a problem searching for the entry, or, if necessary, adding it. */ public static void publishInstanceKeyEntryInADS() static void publishInstanceKeyEntryInADS() throws CryptoManagerException { final byte[] instanceKeyCertificate = getInstanceKeyCertificateFromLocalTruststore(); @@ -989,7 +992,7 @@ * the supplied symmetric key attribute value, unwrapping the * embedded secret key, or retrieving the requested public key. */ public String reencodeSymmetricKeyAttribute( String reencodeSymmetricKeyAttribute( final String symmetricKeyAttribute, final String requestedInstanceKeyID) throws CryptoManagerException { @@ -1895,7 +1898,7 @@ * was not already present but could not * be imported. */ public void importCipherKeyEntry(Entry entry) void importCipherKeyEntry(Entry entry) throws CryptoManagerException { // Ignore the entry if it does not have the appropriate @@ -2123,7 +2126,7 @@ * was not already present but could not * be imported. */ public void importMacKeyEntry(Entry entry) void importMacKeyEntry(Entry entry) throws CryptoManagerException { // Ignore the entry if it does not have the appropriate @@ -3380,43 +3383,4 @@ // state private final String fType; } /** * This class defines an exception that is thrown in the case of * problems with encryption key managagment, and is a wrapper for a * variety of other cipher related exceptions. */ public static class CryptoManagerException extends OpenDsException { /** * The serial version identifier required to satisfy the compiler * because this class extends <CODE>java.lang.Exception</CODE>, * which implements the <CODE>java.io.Serializable</CODE> * interface. This value was generated using the * <CODE>serialver</CODE> command-line utility included with the * Java SDK. */ static final long serialVersionUID = -5890763923778143774L; /** * Creates an exception with the given message. * @param message the message message. */ public CryptoManagerException(Message message) { super(message); } /** * Creates an exception with the given message and underlying * cause. * @param message The message message. * @param cause The underlying cause. */ public CryptoManagerException(Message message, Exception cause) { super(message, cause); } } } opends/src/server/org/opends/server/crypto/CryptoManagerSync.java
@@ -125,7 +125,7 @@ try { CryptoManager.publishInstanceKeyEntryInADS(); } catch (CryptoManager.CryptoManagerException ex) { catch (CryptoManagerException ex) { throw new InitializationException(ex.getMessageObject()); } DirectoryServer.registerBackendInitializationListener(this); @@ -270,7 +270,7 @@ DirectoryServer.getCryptoManager().importMacKeyEntry(searchEntry); } } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { throw new DirectoryException( DirectoryServer.getServerErrorResultCode(), e); @@ -483,7 +483,7 @@ DirectoryServer.getCryptoManager().importMacKeyEntry(entry); } } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { Message message = Message.raw("Failed to import key entry: %s", e.getMessage()); @@ -556,7 +556,7 @@ DirectoryServer.getCryptoManager().importMacKeyEntry(newEntry); } } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { Message message = Message.raw("Failed to import modified key entry: %s", e.getMessage()); opends/src/server/org/opends/server/crypto/GetSymmetricKeyExtendedOperation.java
@@ -229,7 +229,7 @@ operation.setResponseValue(new ASN1OctetString(responseSymmetricKey)); operation.setResultCode(ResultCode.SUCCESS); } catch (CryptoManager.CryptoManagerException e) catch (CryptoManagerException e) { operation.setResultCode(DirectoryServer.getServerErrorResultCode()); operation.appendErrorMessage(e.getMessageObject()); opends/src/server/org/opends/server/types/CryptoManagerException.java
New file @@ -0,0 +1,65 @@ /* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at * trunk/opends/resource/legal-notices/OpenDS.LICENSE * or https://OpenDS.dev.java.net/OpenDS.LICENSE. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable, * add the following below this CDDL HEADER, with the fields enclosed * by brackets "[]" replaced with your own identifying information: * Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * * Portions Copyright 2007 Sun Microsystems, Inc. */ package org.opends.server.types; import org.opends.messages.Message; /** * This class defines an exception that is thrown in the case of * problems with encryption key managagment, and is a wrapper for a * variety of other cipher related exceptions. */ public class CryptoManagerException extends OpenDsException { /** * The serial version identifier required to satisfy the compiler * because this class extends <CODE>java.lang.Exception</CODE>, * which implements the <CODE>java.io.Serializable</CODE> * interface. This value was generated using the * <CODE>serialver</CODE> command-line utility included with the * Java SDK. */ static final long serialVersionUID = -5890763923778143774L; /** * Creates an exception with the given message. * @param message the message message. */ public CryptoManagerException(Message message) { super(message); } /** * Creates an exception with the given message and underlying * cause. * @param message The message message. * @param cause The underlying cause. */ public CryptoManagerException(Message message, Exception cause) { super(message, cause); } } opends/tests/unit-tests-testng/src/server/org/opends/server/crypto/CryptoManagerTestCase.java
@@ -447,7 +447,7 @@ try { cm.decrypt(cipherText); } catch (CryptoManager.CryptoManagerException ex) { catch (CryptoManagerException ex) { // TODO: if reasons are added to CryptoManagerException, check for // expected cause. }