| | |
| | | { |
| | | // Initialize the variables associated with components that may be included |
| | | // in the request. |
| | | byte[] requestSymmetricKey = null; |
| | | byte[] instanceKeyID = null; |
| | | String requestSymmetricKey = null; |
| | | String instanceKeyID = null; |
| | | |
| | | |
| | | |
| | |
| | | { |
| | | case TYPE_SYMMETRIC_KEY_ELEMENT: |
| | | requestSymmetricKey = |
| | | ASN1OctetString.decodeAsOctetString(e).value(); |
| | | ASN1OctetString.decodeAsOctetString(e).stringValue(); |
| | | break; |
| | | |
| | | case TYPE_INSTANCE_KEY_ID_ELEMENT: |
| | | instanceKeyID = ASN1OctetString.decodeAsOctetString(e).value(); |
| | | instanceKeyID = |
| | | ASN1OctetString.decodeAsOctetString(e).stringValue(); |
| | | break; |
| | | |
| | | default: |
| | |
| | | CryptoManager cm = DirectoryServer.getCryptoManager(); |
| | | try |
| | | { |
| | | byte[] responseSymmetricKey = cm.rewrapSymmetricKeyAttribute( |
| | | String responseSymmetricKey = cm.rewrapSymmetricKeyAttribute( |
| | | requestSymmetricKey, instanceKeyID); |
| | | |
| | | operation.setResponseOID( |
| | |
| | | operation.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | operation.appendErrorMessage(e.getMessageObject()); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | operation.setResultCode(DirectoryServer.getServerErrorResultCode()); |
| | | operation.appendErrorMessage(StaticUtils.getExceptionMessage(e)); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | * @return An ASN.1 octet string containing the encoded request value. |
| | | */ |
| | | public static ASN1OctetString encodeRequestValue( |
| | | byte[] symmetricKey, |
| | | byte[] instanceKeyID) |
| | | String symmetricKey, |
| | | String instanceKeyID) |
| | | { |
| | | ArrayList<ASN1Element> elements = new ArrayList<ASN1Element>(2); |
| | | |