Autenticação de certificado de cliente com a Primavera Bota

simbro:

Eu preciso importar um certificado, a fim de fazer uma solicitação HTTP para um serviço externo em uma aplicação de Primavera de inicialização.

Como faço para configurar Primavera de inicialização, a fim de fazer isso?

Há um monte de informações lá fora, mas eu estou achando tudo um pouco confuso. Parece como se eu só precisa criar algo como um "truststore.jks" keystore e importar o certificado correto e e adicionar algumas entradas aos meus application.properties.

ISlimani:

Comece por gerar um certificado auto-assinado usando keytool, se você não tiver uma

Abra seu terminal ou cmd

keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650

Responder a todas as perguntas. Na primeira pergunta: qual é o seu primeiro nome e sobrenome put localhost.

Se você já tem um certificado de yourcertificate.crtfazer isso

keytool -import -alias tomcat -file yourcertificate.crt -keystore keystore.p12 -storepass password

Você vai ter um arquivo chamado keystore.p12.

Copie este arquivo para o seu resources folder

Adicione as seguintes linhas ao seu propertiesarquivo

# Define a custom port instead of the default 8080
server.port=8443

# Tell Spring Security (if used) to require requests over HTTPS
security.require-ssl=true

# The format used for the keystore 
server.ssl.key-store-type=PKCS12
# The path to the keystore containing the certificate
server.ssl.key-store=classpath:keystore.p12
# The password used to generate the certificate
server.ssl.key-store-password= {your password here}
# The alias mapped to the certificate
server.ssl.key-alias=tomcat

Criar uma Configclasse da seguinte

@Configuration
public class ConnectorConfig {

    @Bean
    public TomcatServletWebServerFactory 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(getHttpConnector());
        return tomcat;
    }

    private Connector getHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(8080);
        connector.setSecure(false);
        connector.setRedirectPort(8443);
        return connector;
    }
}

Agora o seu aplicativo é acessível com https://localhost:8443

Agora você pode acessar o seu terceiro serviço que lhe pede para autenticação SSL

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=200388&siteId=1
Recomendado
Clasificación