Package org.opensaml.xmlsec.agreement

# Interface KeyAgreementProcessor

All Known Implementing Classes:
  `AbstractDerivationKeyAgreementProcessor`, `AbstractKeyAgreementProcessor`, `DHWithExplicitKDFKeyAgreementProcessor`, `DHWithLegacyKDFKeyAgreementProcessor`, `ECDHKeyAgreementProcessor`

public interface KeyAgreementProcessor
Component which performs a key agreement operation.

## Method Summary

Modifier and Type
Method
Description
`KeyAgreementCredential`
`execute(Credential publicCredential, String keyAlgorithm, KeyAgreementParameters parameters)`
Perform the key agreement operation and return a new credential representing the results.
`String`
`getAlgorithm()`
The key agreement algorithm URI.

## Method Details

### getAlgorithm

@Nonnull String getAlgorithm()
The key agreement algorithm URI.

Returns:
  the algorithm

### execute

@Nonnull KeyAgreementCredential execute(@Nonnull Credential publicCredential, @Nonnull String keyAlgorithm, @Nonnull KeyAgreementParameters parameters) throws KeyAgreementException
Perform the key agreement operation and return a new credential representing the results.

Parameters:
  `publicCredential` - the public credential, which will belong either to the recipient or originator party, depending on whether encryption or decryption is being performed, respectively
  `keyAlgorithm` - the algorithm URI for which the derived key will be used
  `parameters` - parameters to the agreement operation. Internally a copy will be created so this input instance will not be modified.
Returns:
  the agreement credential
Throws:
  `KeyAgreementException` - if the key agreement operation is not completed successfully