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; import com.sequenceiq.cloudbreak.domain.Credential; @Component public class RsaPublicKeyValidator { private static final Logger LOGGER = LoggerFactory.getLogger(RsaPublicKeyValidator.class); public void validate(Credential credential) { try { PublicKeyReaderUtil.load(credential.getPublicKey()); } catch (Exception e) { String errorMessage = String.format("Could not validate public SSH key: %s", e.getMessage()); LOGGER.error(errorMessage, e); throw new BadRequestException(errorMessage, e); } } }