powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как зарегистрировать сертификат?
25 сообщений из 25, страница 1 из 1
Как зарегистрировать сертификат?
    #39581380
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имеется sping-boot приложение. Появилась задача сделать так, чтобы оно работало по https.

я сделал всё как тут написано(через самоподписанный PKCS12 ключ):
https://www.thomasvitale.com/https-spring-boot-ssl-certificate/

в коде есть запросы к внешним рест сервисам. Пока что они замоканы внутренними же сервисами.
Внешние сервисы тоже будут по https.

Код: java
1.
ResponseEntity<byte[]> mappingTemplateResponseEntity = restTemplate.exchange(httpsUrl, HttpMethod.GET, new HttpEntity<>(new HttpHeaders()), byte[].class);



После перевода на https такой код теперь не работает.

Читаю статью https://myshittycode.com/2015/12/17/java-https-unable-to-find-valid-certification-path-to-requested-target-2/

соответственно если зарегать бин:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
@Bean
    public Boolean disableSSLValidation() throws Exception {
        final SSLContext sslContext = SSLContext.getInstance("TLS");

        sslContext.init(null, new TrustManager[]{new X509TrustManager() {
            @Override
            public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
            }

            @Override
            public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
            }

            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return new X509Certificate[0];
            }
        }}, null);

        HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
        HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
            public boolean verify(String hostname, SSLSession session) {
                return true;
            }
        });

        return true;
    }



то всё работает, но это судя по всему плохо и толку от такого HTTPS мало.

Но второй способ из статьи у меня не работает. У меня винда.

в cmd:
авторkeytool -list -v -storetype pkcs12 -keystore keystore.p12
Enter keystore password:

Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: tomcat
Creation date: Jan 9, 2018
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Issuer: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
Serial number: 64cd4d27
Valid from: Tue Jan 09 17:56:07 MSK 2018 until: Fri Jan 07 17:56:07 MSK 2028
Certificate fingerprints:
MD5: A6:F5:67:EE:87:65:21:62:50:5B:67:AE:63:F6:AE:C0
SHA1: B8:F5:F7:7D:8C:4C:90:0E:BA:CE:9D:22:3A:D3:A7:6E:BB:12:1B:D8
SHA256: 35:B5:DF:15:FC:3B:DD:D3:05:58:88:92:00:47:8F:62:2C:97:D7:20:77:FA:7D:55:00:64:E9:62:F4:7D:3B:08
Signature algorithm name: SHA256withRSA
Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 3E D4 2D F8 AF D2 C2 4E 51 4F 3E A4 01 FE E2 34 >.-....NQO>....4
0010: 48 B0 5F 4F H._O
]
]



*******************************************
*******************************************





Также например тут https://stackoverflow.com/a/37824656/2674303 пишут, что запрос надо ещё по другому писать и указывать файл сертификата. С другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата. Может это в фоне как-то происходит? должен ли мне поставщик сервиса предоставлять сертификат отдельным урлом по http ?

Расставьте по полочкам пожалуйста.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581430
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,

Теперь всегда требуется наличие в сертификате subjectAltName с хотя бы одним значением, в котором указан ваш домен:
https://groups.google.com/a/chromium.org/d/topic/security-dev/IGT2fLJrAeo/discussion
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581431
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,

73.5 Configure SSL :
Код: java
1.
2.
3.
4.
server.port=8443
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=secret
server.ssl.key-password=another-secret
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581448
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Расставьте по полочкам пожалуйста.Я не смог разобраться в ваших проблемах ("Да как же тебя понять, если ты ничего не говоришь"), но "есть мнение", что вы мешаете в одну кучу "шифрованный канал", "идентификацию по сертификату" и "доверительные отношения".

Вкратце можно сказать следующее.
Для шифрованного обмена требуется надёжный (доверенный и безопасный) канал для передачи пароля.
В данном контексте "безопасный" означает "доступен только для отправителя и получателя", а "доверенный" - "идентифицирует участников".

Существуют схемы открытого распределения ключей, позволяющие согласовать (секретный) пароль по открытому (общедоступному) каналу. Эти схемы являются безопасными, но не являются доверенными.

Доверие может обеспечиваться разными способами, но общепринятым является инфраструктура открытых ключей (ИОК / PKI).
Основой ИОК являются удостоверяющие центры в иерархических или/и сетевых графах.

Каждый удостоверяющий центр, тем или иным образом, ведёт списки отзыва сертификатов, позволяющие проверить статус произвольного сертификата, изданного в данном УЦ.
Практика проверки всей цепочки (конечный сертификат - промежуточные УЦ - корневой УЦ) по спискам отзыва стала стандартом для корректной реализации TLS/SSL.

Когда вы самостоятельно формируете сертификат ключевой пары, хост, использующий такой сертификат не обладает никаким доверием. Это даже если не касаться того факта, что самоизданный сертификат допустим только для корневого УЦ.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581449
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,

У jvm есть keystore и есть trustStore. Вот для того чтобы HTTPS клиент работал нужно чтобы был truststore был сконфигурирован и в нём публичный ключ, соответсвенно.
Либо конкретно для Spring Boot:
https://stackoverflow.com/questions/27724544/specifying-trust-store-information-in-spring-boot-application-properties
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581455
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВот для того чтобы HTTPS клиент работал нужно чтобы был truststore был сконфигурирован и в нём публичный ключ... удостоверяющего центра, выпустившего сертификат сервера, к которому обращается клиент.
Так, наверное, будет правильнее.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581461
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov... удостоверяющего центра, выпустившего сертификат сервера, к которому обращается клиент.
Так, наверное, будет правильнее.
Да, но у топикастера жа самоподписный.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581463
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДа, но у топикастера жа самоподписный.Да, но рано или поздно он осознает, что надо покупать серверный сертификат. Или, как минимум, развернуть собственный УЦ.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581489
shaden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторС другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата.

Данный сертификат выдан доверенным центром сертификации (Thawte, Verisign и т.п.) Корневые сертификаты доверенных центров сертификации уже в хранилищах сертификатов браузеров.

Если же сертификат выпущен удостоверяющим центром, про который не знают браузеры (например, КриптоПро), то цепочку сертификатов надо будет добавлять в хранилище сертификатов браузера, чтобы браузер не ругался на кривой сертификат.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581578
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Usmanredwhite90,

73.5 Configure SSL :
Код: java
1.
2.
3.
4.
server.port=8443
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=secret
server.ssl.key-password=another-secret



а у меня
Код: java
1.
2.
3.
4.
server.ssl.key-store-type:PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-alias=tomcat



Чем отличается server.ssl.key-store-password от
server.ssl.key-password ?
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581589
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Чем отличается server.ssl.key-store-password от
server.ssl.key-password ?
Первый - пароль от JKS файла. Второй - пароль от ключа в нём. Но для SSL/HTTPS их, зачастую, делают одинаковыми.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581603
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

кажется получилось.



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@Value("${http.client.ssl.trust-store}")
    private Resource keyStore;
    @Value("${http.client.ssl.trust-store-password}")
    private String keyStorePassword;

    @Bean
    RestTemplate restTemplate() throws Exception {
        SSLContext sslContext = new SSLContextBuilder()
                .loadTrustMaterial(
                        keyStore.getURL(),
                        keyStorePassword.toCharArray()
                ).build();
        SSLConnectionSocketFactory socketFactory =
                new SSLConnectionSocketFactory(sslContext);
        HttpClient httpClient = HttpClients.custom()
                .setSSLSocketFactory(socketFactory).build();
        HttpComponentsClientHttpRequestFactory factory =
                new HttpComponentsClientHttpRequestFactory(httpClient);
        return new RestTemplate(factory);
    }



в пропертях:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
# 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=password
# The alias mapped to the certificate
server.ssl.key-alias=tomcat

http.client.ssl.trust-store=classpath:keystore.p12
http.client.ssl.trust-store-password=password



запрос

Код: java
1.
ResponseEntity<byte[]> mappingTemplateResponseEntity = restTemplate.exchange(httpsUrl, HttpMethod.GET, new HttpEntity<>(new HttpHeaders()), byte[].class);



теперь работает.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581613
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90Чем отличается server.ssl.key-store-password от
server.ssl.key-password ?
Первый - пароль от JKS файла. Второй - пароль от ключа в нём. Но для SSL/HTTPS их, зачастую, делают одинаковыми.

У меня не JKS а PKCS12.

Как-то можно посмотреть/поменять эти пароли?
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581618
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shadenавторС другой стороны если я захожу в личный кабинет своего банка, то я же по https там сижу и я не нажимаю на скачивание сертификата.

Данный сертификат выдан доверенным центром сертификации (Thawte, Verisign и т.п.) Корневые сертификаты доверенных центров сертификации уже в хранилищах сертификатов браузеров.

Если же сертификат выпущен удостоверяющим центром, про который не знают браузеры (например, КриптоПро), то цепочку сертификатов надо будет добавлять в хранилище сертификатов браузера, чтобы браузер не ругался на кривой сертификат.

а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать?
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581657
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать?
Ничего. Корневые сертификаты доверительных центров уже находятся в хранилище JRE, если вы только его не сломали.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581685
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczredwhite90а если у меня браузера нет, а есть rest template, то когда у меня появится не самоподписный сертификат, а нормальный, то что мне делать?
Ничего. Корневые сертификаты доверительных центров уже находятся в хранилище JRE, если вы только его не сломали.


Понял, благодарю
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581904
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а помогите ещё с кемелом:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
@Component
public class MyRouteDefinition extends RouteBuilder {

    @Override
    public void configure() throws Exception {

        KeyStoreParameters ksp = new KeyStoreParameters();
        ksp.setType("pkcs12");
        ksp.setResource(PushRoutesDefinition.class.getResource("/keystore.p12").getPath());
        ksp.setPassword("password");

        KeyManagersParameters kmp = new KeyManagersParameters();
        kmp.setKeyStore(ksp);
        kmp.setKeyPassword("password");

        SSLContextParameters scp = new SSLContextParameters();
        scp.setKeyManagers(kmp);

        HttpComponent httpComponent = getContext().getComponent("https4", HttpComponent.class);
        httpComponent.setSslContextParameters(scp);

        //TO HTTPS
        from(...)
        .to("https4://localhost:8080/load")
        .process(exchange -> {
                    Integer responseCode = 
             exchange.getIn().getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
             log.debug("The response code is: {}", responseCode);
         }
    }



та же ошибка:
Код: java
1.
2.
3.
4.
5.
6.
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
	... 40 common frames omitted
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581909
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сертификат привязан к имени домена. Поэтому вместо localhost нужно использовать то имя, которое у сертификата в CN указано. Ну или в CN прописать localhost когда генеришь сертификат.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39581920
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Этот тот же сертификат, что и до этого, а там httpsUrl c localhost

Помогло написать вот так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
KeyStoreParameters ksp = new KeyStoreParameters();
        ksp.setType("pkcs12");
        ksp.setResource(PushRoutesDefinition.class.getResource("/keystore.p12").getPath());
        ksp.setPassword("password");

        KeyManagersParameters kmp = new KeyManagersParameters();
        kmp.setKeyStore(ksp);
        kmp.setKeyPassword("password");

        TrustManagersParameters trustManagersParameters = new TrustManagersParameters();
        trustManagersParameters.setKeyStore(ksp);

        SSLContextParameters scp = new SSLContextParameters();
        scp.setKeyManagers(kmp);
        scp.setTrustManagers(trustManagersParameters);

        HttpComponent httpComponent = getContext().getComponent("https4", HttpComponent.class);
        httpComponent.setSslContextParameters(scp);
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583426
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Теперь дали УРЛ, который уже имеет нормальный сертификат

и в постмане запрос прохолдит нормально:


а если через RestTemplate:

Код: java
1.
ResponseEntity<String> result = restTemplate.exchange(buildUrl(), HttpMethod.POST, requestEntity, String.class);



То старая ошибка:

авторCaused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target



Конфигурация всего этого дела:


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
@Configuration
public class ConnectorConfig {
    @Value("${server.port}")
    private Integer port;
    @Value("${http.client.ssl.trust-store}")
    private Resource trustStore;
    @Value("${http.client.ssl.trust-store-password}")
    private String trustStorePassword;
    @Value("${http.client.ssl.trust-store}")
    private Resource keyStore;
    @Value("${http.client.ssl.trust-store-password}")
    private String keyStorePassword;
    @Value("${server.ssl.key-store-type}")
    private String keyStoreType;

    public Integer getPort() {
        return port;
    }

    public Resource getTrustStore() {
        return trustStore;
    }

    public String getTrustStorePassword() {
        return trustStorePassword;
    }

    public Resource getKeyStore() {
        return keyStore;
    }

    public String getKeyStorePassword() {
        return keyStorePassword;
    }

    public String getKeyStoreType() {
        return keyStoreType;
    }

    @Bean
    public TomcatEmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() {
            @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());
        tomcat.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> {
            // configure maxSwallowSize
            if ((connector.getProtocolHandler() instanceof AbstractHttp11Protocol<?>)) {
                // -1 means unlimited, accept bytes
                ((AbstractHttp11Protocol<?>) connector.getProtocolHandler()).setMaxSwallowSize(-1);
            }
        });
        return tomcat;
    }

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

    @Bean
    RestTemplate restTemplate() throws Exception {
        SSLContext sslContext = new SSLContextBuilder()
                .loadTrustMaterial(
                        trustStore.getURL(),
                        trustStorePassword.toCharArray()
                ).build();
        SSLConnectionSocketFactory socketFactory =
                new SSLConnectionSocketFactory(sslContext);
        HttpClient httpClient = HttpClients.custom()
                .setSSLSocketFactory(socketFactory).build();
        HttpComponentsClientHttpRequestFactory factory =
                new HttpComponentsClientHttpRequestFactory(httpClient);
        return new RestTemplate(factory);
    }
}
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583456
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть системное хранилище сертификатов, которое может (не) использоваться конкретным приложением (средой).
Если у JRE - собственное хранилище, то вполне логично предположить, что его содержимое может отличаться от системного.
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583463
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

Как быть?
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583472
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Как быть?
Use "keytool -command_name -help" for usage of command_name
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
keytool
Key and Certificate Management Tool
Commands:
 -certreq            Generates a certificate request
 -changealias        Changes an entry's alias
 -delete             Deletes an entry
 -exportcert         Exports certificate
 -genkeypair         Generates a key pair
 -genseckey          Generates a secret key
 -gencert            Generates certificate from a certificate request
 -importcert          Imports a certificate or a certificate chain 
 -importpass         Imports a password
 -importkeystore     Imports one or all entries from another keystore
 -keypasswd          Changes the key password of an entry
 -list               Lists entries in a keystore
 -printcert          Prints the content of a certificate
 -printcertreq       Prints the content of a certificate request
 -printcrl           Prints the content of a CRL file
 -storepasswd        Changes the store password of a keystore
Use "keytool -command_name -help" for usage of command_name
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583490
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,

а как его найти?
...
Рейтинг: 0 / 0
Как зарегистрировать сертификат?
    #39583511
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В lib/security есть умалчиваемое хранилище доверенных сертификатов - файл cacerts (пустой пароль).
Можно импортировать его содержимое в используемое вами хранилище, не забыв установить "флаг доверия УЦ" при импорте.
Вполне возможно, что сертификат сервера издан одним из "стандартных" УЦ.

Можно действовать точечно, тогда варианты могут быть разные.

Если известен издатель серверного сертификата - находим страницу загрузки этого издателя, скачиваем и импортируем сертификаты корневого и промежуточных удостоверяющих центров.

Можно обратиться к администратору целевого сервера и попросить у него или pem-файл или cer-файлы "россыпью".

Можно взять винду, ослика, подключиться к какой-нибудь "нейтральной" (шифрованной) странице сервера - появится возможность посмотреть свойства серверного сертификата.
Это будет стандартная системная утилита, где на одной из закладок будет отображена "цепочка доверия".
Каждый сертификат в цепочке можно, опять-таки, просмотреть, и на другой одной из закладок - экспортировать в файл.

Можно взять любые другие браузер и операционку, но тогда интерфейс просмотра и экспорта сертификатов может (будет) отличаться. Сам функционал общепринятый и есть в любом браузере сложнее links/lynx.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как зарегистрировать сертификат?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]