package com.sequenceiq.cloudbreak.service.credential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.sequenceiq.cloudbreak.controller.BadRequestException;
@Component
public class OpenSshPublicKeyValidator {
private static final Logger LOGGER = LoggerFactory.getLogger(OpenSshPublicKeyValidator.class);
public void validate(String publicKey) {
try {
PublicKeyReaderUtil.loadOpenSsh(publicKey);
} catch (Exception e) {
String errorMessage = String.format("Could not validate publickey certificate [certificate: '%s'], detailed message: %s",
publicKey, e.getMessage());
LOGGER.error(errorMessage, e);
throw new BadRequestException(errorMessage, e);
}
}
}