Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support SslBundle configuration provided by spring-boot-3.X🚀 | #69

Open
DIFRIN opened this issue Apr 30, 2024 · 0 comments
Open

Support SslBundle configuration provided by spring-boot-3.X🚀 | #69

DIFRIN opened this issue Apr 30, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@DIFRIN
Copy link

DIFRIN commented Apr 30, 2024

Which part of our software stack is concerned by the feature ?

Chutney

Description

Spring Boot 3.1 introduces the concept of SSL bundles for configuring and consuming custom SSL trust material, such as keystores, certificates, and private keys. Once configured, a bundle can be applied to one or more connections using configuration properties or APIs

I suggest to make it possible to declare a SslBundles configuration bloc that can be referenced from the targets such as HTTP or Kafka

Bundles are more concise, can handle PEM format (simplier than packaging in jks everytime)

Solution

Making:

{
    "name": "ghibli_movies_http_service",
    "url": "https://my.http.service:443/",
    "properties": {
        "username": "myUsername",
        "user": "myUsername", // 
        "userPassword": "myPassword",
        "password": "myPassword", // 
        "trustStore": "/home/APP/security/mytruststore.jks",
        "trustStorePassword": "myTrustStorePassword",
        "keyStore": "/home/APP/security/mykeyStore.jks",
        "keyStorePassword": "mykeyStorePassword",
        "keyPassword": "myKeyStoreKeyPassword",
        "proxy": "https://myproxy:3128"
    }
}

looks more like

{
    "name": "ghibli_movies_http_service",
    "url": "https://my.http.service:443/",
    "properties": {
        "username": "myUsername",
        "user": "myUsername", 
        "userPassword": "myPassword",
        "password": "myPassword", 
        "sslBundle": "my-http-service-bundle"
        "proxy": "https://myproxy:3128"
    }
}

where "my-http-service-bundle" is declared in a specific bloc like (yaml format but can be json)

  ssl:
    bundle:
      pem:
        server-bundle:
          keystore:
            certificate: "classpath:security/server.crt"
            private-key: "classpath:security/server.key"
          truststore:
            certificate: "classpath:security/ac-chain.pem"
@DIFRIN DIFRIN added the enhancement New feature or request label Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant