private ContentInfo encodeResponse(PkiMessage response, DecodedPkiMessage request)
throws OperationException {
Args.notNull(response, "response");
Args.notNull(request, "request");
String signatureAlgorithm = getSignatureAlgorithm(responderKey, request.getDigestAlgorithm());
ContentInfo ci;
try {
X509Certificate[] cmsCertSet = control.isIncludeSignerCert()
? new X509Certificate[]{responderCert} : null;
ci = response.encode(responderKey, signatureAlgorithm, responderCert, cmsCertSet,
request.getSignatureCert(), request.getContentEncryptionAlgorithm());
} catch (MessageEncodingException ex) {
LogUtil.error(LOG, ex, "could not encode response");
throw new OperationException(ErrorCode.SYSTEM_FAILURE, ex);
}
return ci;
}