public void handleExtendedOperation( LdapSession session, InternalExtendedRequest req ) throws Exception
{
ByteBuffer bb = ByteBuffer.wrap( req.getPayload() );
Asn1Decoder decoder = new CertGenerationDecoder();
CertGenerationContainer container = new CertGenerationContainer();
try
{
decoder.decode( bb, container );
}
catch( DecoderException e )
{
throw e;
}
CertGenerationObject certGenObj = container.getCertGenerationObject();
ClonedServerEntry entry = session.getCoreSession().lookup( new DN( certGenObj.getTargetDN() ) );
if( entry != null )
{
TlsKeyGenerator.addKeyPair( entry.getOriginalEntry(), certGenObj.getIssuerDN(), certGenObj.getSubjectDN(), certGenObj.getKeyAlgorithm() );