1
resposta

Configurar Certificado SSL no Spring boot

Pessoal, estou com dificuldade para colocar um certificado no Spring boot Alguém conhece um tutorial, ou algo assim para passar

Não quero fazer o certificado SSL para usar no localhost gerado no jdk. quero um tutorial de certificado oficial ok?

Obrigado desde já

1 resposta

Olá Rubens, tudo bem?

Para configurar um certificado SSL oficial no Spring Boot, você precisará seguir alguns passos. O primeiro passo é obter o certificado SSL, que pode ser adquirido através de uma autoridade de certificação reconhecida.

Depois disso, você precisará configurar o certificado no seu servidor Spring Boot. Uma maneira de fazer isso é adicionando o certificado ao arquivo de propriedades do Spring Boot. Para isso, você pode adicionar as seguintes linhas ao arquivo application.properties:

server.ssl.key-store-type=JKS
server.ssl.key-store=classpath:seu_certificado.jks
server.ssl.key-store-password=sua_senha

Lembre-se de substituir "seu_certificado.jks" pelo nome do arquivo do seu certificado e "sua_senha" pela senha do certificado.

Outra opção é configurar o certificado diretamente no código Java. Para isso, você pode criar uma classe de configuração e adicionar as seguintes linhas:

@Bean
public ServletWebServerFactory servletContainer() {
    TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
        @Override
        protected void postProcessContext(Context context) {
            SecurityConstraint securityConstraint = new SecurityConstraint();
            securityConstraint.setUserConstraint("CONFIDENTIAL");
            SecurityCollection collection = new SecurityCollection();
            collection.addPattern("/*");
            securityConstraint.addCollection(collection);
            context.addConstraint(securityConstraint);
        }
    };
    tomcat.addAdditionalTomcatConnectors(redirectConnector());
    tomcat.addConnectorCustomizers(new TomcatConnectorCustomizer() {
        @Override
        public void customize(Connector connector) {
            connector.setPort(8443);
            connector.setSecure(true);
            connector.setScheme("https");

            Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
            protocol.setSSLEnabled(true);
            protocol.setKeystoreFile("seu_certificado.jks");
            protocol.setKeystorePass("sua_senha");
            protocol.setKeyAlias("seu_alias");
            protocol.setKeyPass("sua_senha");
        }
    });
    return tomcat;
}

Lembre-se de substituir "seu_certificado.jks" pelo nome do arquivo do seu certificado, "sua_senha" pela senha do certificado e "seu_alias" pelo alias do certificado.

Espero ter ajudado e bons estudos!