You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If certificate reloading is enabled with quarkus.http.ssl.certificate.reload-period option, mTLS stop functioning after the reload even when the certificate file is not updated.
This is caused by mishandling of trustOptions here:
if (configuration.certificate.trustStoreFile.isPresent()) {
var opts = ((KeyStoreOptions) copy.getKeyCertOptions());
opts.setValue(Buffer.buffer(getFileContent(configuration.certificate.trustStoreFile.get())));
copy.setTrustOptions(opts);
}
the opts value should be taken from copy.getTrustOptions() but copy.getKeyCertOptions.
Because of this mishandling, trust store config is overwritten by key store config.
Expected behavior
Even after the reload, mTLS should continue to work.
Actual behavior
mTLS stop functioning
How to Reproduce?
Reproducer:
Setup quarkus to serve with mTLS
Enable certificate reloading with quarkus.http.ssl.certificate.reload-period=3m option
Wait the certificate reload, and access the quarkus server with HTTPS.
You will encounter TLS connection issue.
Quarkus version or git rev
3.17.6
The text was updated successfully, but these errors were encountered:
Describe the bug
If certificate reloading is enabled with
quarkus.http.ssl.certificate.reload-period
option, mTLS stop functioning after the reload even when the certificate file is not updated.This is caused by mishandling of trustOptions here:
https://github.com/quarkusio/quarkus/blob/3.17.6/extensions/vertx-http/runtime/src/main/java/io/quarkus/vertx/http/runtime/options/TlsCertificateReloader.java#L214-L218
the
opts
value should be taken fromcopy.getTrustOptions()
butcopy.getKeyCertOptions
.Because of this mishandling, trust store config is overwritten by key store config.
Expected behavior
Even after the reload, mTLS should continue to work.
Actual behavior
mTLS stop functioning
How to Reproduce?
Reproducer:
quarkus.http.ssl.certificate.reload-period=3m
optionQuarkus version or git rev
3.17.6
The text was updated successfully, but these errors were encountered: