Как загрузить сертификат 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»