String keyInfoGeneratorName = org.springframework.security.saml.SAMLConstants.SAML_METADATA_KEY_INFO_GENERATOR;
if (extendedMetadata != null && extendedMetadata.getKeyInfoGeneratorName() != null) {
keyInfoGeneratorName = extendedMetadata.getKeyInfoGeneratorName();
}
KeyInfoGenerator keyInfoGenerator = SecurityHelper.getKeyInfoGenerator(credential, null, keyInfoGeneratorName);
return keyInfoGenerator.generate(credential);
} catch (org.opensaml.xml.security.SecurityException e) {
log.error("Can't obtain key from the keystore or generate key info for credential: " + credential, e);
throw new SAMLRuntimeException("Can't obtain key from keystore or generate key info", e);
}
}