Как загрузить сертификат Java KeyStore на сервер Tomcat без использования файловJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как загрузить сертификат Java KeyStore на сервер Tomcat без использования файлов

Сообщение Anonymous »

Я импортировал сертификат из Azure Key Vault и загрузил его в объект Java KeyStore. Предполагается, что я импортирую этот объект программно на сервер Tomcat, то есть без использования файлов. Возможно ли это, и если да, то как?
Сертификат из хранилища ключей Azure был успешно загружен в объект Java KeyStore. Однако я не знаю, как настроить Tomcat с помощью кода Java. Я попробовал использовать ChatGPT в качестве отправной точки, и он предложил следующее:

Код: Выделить всё

    import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.http11.Http11NioProtocol;
import org.apache.tomcat.util.net.SSLHostConfig;
import org.apache.tomcat.util.net.SSLHostConfigCertificate;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.security.KeyStore;

@Configuration
public class TomcatSslConfiguration {

@Bean
public ConfigurableWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override
protected void postProcessContext(Context context) {
// Programmatically configure SSL
configureSsl(context);
}
};
return factory;
}

private void configureSsl(Context context) {
// Create and load your KeyStore programmatically
KeyStore keyStore = loadKeyStore();

// Create an SSLHostConfigCertificate
SSLHostConfigCertificate sslHostConfigCertificate = new SSLHostConfigCertificate();
sslHostConfigCertificate.setCertificateKeystore(keyStore);

// Create an SSLHostConfig
SSLHostConfig sslHostConfig = new SSLHostConfig();
sslHostConfig.addCertificate(sslHostConfigCertificate);

// Set the SSLHostConfig in the Tomcat context
context.addSslHostConfig(sslHostConfig);
}

private KeyStore loadKeyStore() {
// Implement your custom logic to load the KeyStore
// For example, you can use KeyStore.getInstance("JKS") and load it from a custom     source
// KeyStore keyStore = ...

return keyStore;
}
}
В любом случае, похоже, что context.addSslHostConfig не существует. И я не уверен, что это хорошая отправная точка. Спасибо за любой совет.

Подробнее здесь: https://stackoverflow.com/questions/776 ... sing-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»