Atom Лента - Форум КриптоПро - Тема:Приложение со встроенным криптопровайдером - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:Prilozheniesovstroennymkriptoprovajjderom-10:1Copyright 2024 Форум КриптоПро2024-03-29T09:35:18Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruНикита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Никита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевНикита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Никита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевНикита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевНикита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112Евгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевНикита Ульянов181112https://www.cryptopro.ru/forum2/default.aspx?g=profile&u=56301&name=Никита Ульянов181112YetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid117444:1Приложение со встроенным криптопровайдером<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо большое за советы и помощь) Проблема решена путем добавления нужного сертификата(переписал строчку кода которая достает нужный сертификат из ресурсов): trustStreamForTsp = context.getResources().openRawResource(R.raw.root);<br />Также переписал параметр TLSSettings.setDefaultEnableRevocation(false); из OnCreate в сам метод initProviders, так как приложение вылетало. На данный момент все работает и пока что сбоев нет. Спасибо большое еще раз!<img src="/forum2/Images/Emoticons/eusa_dance.gif" alt="Dancing" /> <br /><br /></td></tr></table>2020-07-23T17:43:27+03:002020-07-23T17:43:27+03:00Никита Ульянов181112<table class="content postContainer_Alt" width="100%"><tr><td>Спасибо большое за советы и помощь) Проблема решена путем добавления нужного сертификата(переписал строчку кода которая достает нужный сертификат из ресурсов): trustStreamForTsp = context.getResources().openRawResource(R.raw.root);<br />Также переписал параметр TLSSettings.setDefaultEnableRevocation(false); из OnCreate в сам метод initProviders, так как приложение вылетало. На данный момент все работает и пока что сбоев нет. Спасибо большое еще раз!<img src="/forum2/Images/Emoticons/eusa_dance.gif" alt="Dancing" /> <br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117403:1Приложение со встроенным криптопровайдером<table class="content postContainer" width="100%"><tr><td>По ссылке <a rel="nofollow" href="https://pastebin.com/YpznfU4E" title="https://pastebin.com/YpznfU4E">https://pastebin.com/YpznfU4E</a> я среди добавленных в начале корневых не нашел по слову nGate или Console корневого типа того, что вы выше приложили. То есть в том логе по ссылке его нет.<br />Затем вы приложили кусок лога с добавлением корневого, появились строки:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
Subject: OU=nGate MC Certificate Authority, O=whitelake, C=RU, CN=nGate Management Console
Serial number: -504dd3334460d11da29f484
Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023
</code></pre>
</div></div><br /><br />Срок корневого сертификата из лога: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023
</code></pre>
</div></div><br /><br />В последнем сообщении вы приложили корневой сертификат, в нем время:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
14 апреля 2020 г. 18:17:32
14 апреля 2023 г. 18:17:32
</code></pre>
</div></div><br /><br />Если брать во внимание время, то как будто не тот корневой. Может, перевыпускали несколько штук?</td></tr></table>2020-07-22T22:47:08+03:002020-07-22T22:47:08+03:00Евгений Афанасьев<table class="content postContainer" width="100%"><tr><td>По ссылке <a rel="nofollow" href="https://pastebin.com/YpznfU4E" title="https://pastebin.com/YpznfU4E">https://pastebin.com/YpznfU4E</a> я среди добавленных в начале корневых не нашел по слову nGate или Console корневого типа того, что вы выше приложили. То есть в том логе по ссылке его нет.<br />Затем вы приложили кусок лога с добавлением корневого, появились строки:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
Subject: OU=nGate MC Certificate Authority, O=whitelake, C=RU, CN=nGate Management Console
Serial number: -504dd3334460d11da29f484
Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023
</code></pre>
</div></div><br /><br />Срок корневого сертификата из лога: <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023
</code></pre>
</div></div><br /><br />В последнем сообщении вы приложили корневой сертификат, в нем время:<br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-markup">
14 апреля 2020 г. 18:17:32
14 апреля 2023 г. 18:17:32
</code></pre>
</div></div><br /><br />Если брать во внимание время, то как будто не тот корневой. Может, перевыпускали несколько штук?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117366:1Приложение со встроенным криптопровайдером<table class="content postContainer_Alt" width="100%"><tr><td>Вот мой сертификат:<br /><br />-----BEGIN CERTIFICATE-----<br />MIICvjCCAmugAwIBAgIMzvMqXRK0epvW62U2MAoGCCqFAwcBAQMCMG0xITAfBgNV<br />BAMMGG5HYXRlIE1hbmFnZW1lbnQgQ29uc29sZTELMAkGA1UEBhMCUlUxEjAQBgNV<br />BAoMCXdoaXRlbGFrZTEnMCUGA1UECwwebkdhdGUgTUMgQ2VydGlmaWNhdGUgQXV0<br />aG9yaXR5MB4XDTIwMDQxNDE1MTczMloXDTIzMDQxNDE1MTczMlowbTEhMB8GA1UE<br />AwwYbkdhdGUgTWFuYWdlbWVudCBDb25zb2xlMQswCQYDVQQGEwJSVTESMBAGA1UE<br />CgwJd2hpdGVsYWtlMScwJQYDVQQLDB5uR2F0ZSBNQyBDZXJ0aWZpY2F0ZSBBdXRo<br />b3JpdHkwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA3r45<br />HHOsYMHUVsbdtxWAhTz0ujqzwmegW73q8EpSmc8GWUmMlW+Lr96sxLDU8GsXjBZ7<br />EHjSOILEeCpOXW6qAqOB4zCB4DAdBgNVHQ4EFgQUNNnnNBat0RLROU8SKVZNdyF6<br />AWAwDwYDVR0TBAgwBgEB/wIBATCBoAYDVR0BBIGYMIGVgBQ02ec0Fq3REtE5TxIp<br />Vk13IXoBYIFvMG0xITAfBgNVBAMMGG5HYXRlIE1hbmFnZW1lbnQgQ29uc29sZTEL<br />MAkGA1UEBhMCUlUxEjAQBgNVBAoMCXdoaXRlbGFrZTEnMCUGA1UECwwebkdhdGUg<br />TUMgQ2VydGlmaWNhdGUgQXV0aG9yaXR5ggzO8ypdErR6m9brZTYwCwYDVR0PBAQD<br />AgGuMAoGCCqFAwcBAQMCA0EAWKR/LgNTnrzoBBy94puZLfNY1pC/BEf2ZPmnrV+j<br />F4EiPmaLcv8KS6K5DDFKbvomCQx2WujHJ8R1CluId/sT9g==<br />-----END CERTIFICATE-----<br /><br /><br />Также вот кусок кода отвечающий за создание trustCerts:<br /><br />public void saveTrustCertAll() throws Exception {<br /><br /> int i = 0;<br /> for (X509Certificate trustCert : trustCerts) {<br /> saveTrustCert(trustStoreFile, trustCert);<br /> i++;<br /> } // for<br /><br /> }<br /></td></tr></table>2020-07-22T12:08:37+03:002020-07-22T12:08:37+03:00Никита Ульянов181112<table class="content postContainer_Alt" width="100%"><tr><td>Вот мой сертификат:<br /><br />-----BEGIN CERTIFICATE-----<br />MIICvjCCAmugAwIBAgIMzvMqXRK0epvW62U2MAoGCCqFAwcBAQMCMG0xITAfBgNV<br />BAMMGG5HYXRlIE1hbmFnZW1lbnQgQ29uc29sZTELMAkGA1UEBhMCUlUxEjAQBgNV<br />BAoMCXdoaXRlbGFrZTEnMCUGA1UECwwebkdhdGUgTUMgQ2VydGlmaWNhdGUgQXV0<br />aG9yaXR5MB4XDTIwMDQxNDE1MTczMloXDTIzMDQxNDE1MTczMlowbTEhMB8GA1UE<br />AwwYbkdhdGUgTWFuYWdlbWVudCBDb25zb2xlMQswCQYDVQQGEwJSVTESMBAGA1UE<br />CgwJd2hpdGVsYWtlMScwJQYDVQQLDB5uR2F0ZSBNQyBDZXJ0aWZpY2F0ZSBBdXRo<br />b3JpdHkwZjAfBggqhQMHAQEBATATBgcqhQMCAiQABggqhQMHAQECAgNDAARA3r45<br />HHOsYMHUVsbdtxWAhTz0ujqzwmegW73q8EpSmc8GWUmMlW+Lr96sxLDU8GsXjBZ7<br />EHjSOILEeCpOXW6qAqOB4zCB4DAdBgNVHQ4EFgQUNNnnNBat0RLROU8SKVZNdyF6<br />AWAwDwYDVR0TBAgwBgEB/wIBATCBoAYDVR0BBIGYMIGVgBQ02ec0Fq3REtE5TxIp<br />Vk13IXoBYIFvMG0xITAfBgNVBAMMGG5HYXRlIE1hbmFnZW1lbnQgQ29uc29sZTEL<br />MAkGA1UEBhMCUlUxEjAQBgNVBAoMCXdoaXRlbGFrZTEnMCUGA1UECwwebkdhdGUg<br />TUMgQ2VydGlmaWNhdGUgQXV0aG9yaXR5ggzO8ypdErR6m9brZTYwCwYDVR0PBAQD<br />AgGuMAoGCCqFAwcBAQMCA0EAWKR/LgNTnrzoBBy94puZLfNY1pC/BEf2ZPmnrV+j<br />F4EiPmaLcv8KS6K5DDFKbvomCQx2WujHJ8R1CluId/sT9g==<br />-----END CERTIFICATE-----<br /><br /><br />Также вот кусок кода отвечающий за создание trustCerts:<br /><br />public void saveTrustCertAll() throws Exception {<br /><br /> int i = 0;<br /> for (X509Certificate trustCert : trustCerts) {<br /> saveTrustCert(trustStoreFile, trustCert);<br /> i++;<br /> } // for<br /><br /> }<br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117340:1Приложение со встроенным криптопровайдером<table class="content postContainer" width="100%"><tr><td>Не разрешает в формате .cer прикладывать файлы<br /><br /></td></tr></table>2020-07-21T17:15:56+03:002020-07-21T17:15:56+03:00Никита Ульянов181112<table class="content postContainer" width="100%"><tr><td>Не разрешает в формате .cer прикладывать файлы<br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117338:1Приложение со встроенным криптопровайдером<table class="content postContainer_Alt" width="100%"><tr><td>Можете приложить тут корневой в виде файла или base64, который добавляете? nGate Management Console</td></tr></table>2020-07-21T16:46:05+03:002020-07-21T16:46:05+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>Можете приложить тут корневой в виде файла или base64, который добавляете? nGate Management Console</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117337:1Приложение со встроенным криптопровайдером<table class="content postContainer" width="100%"><tr><td>Я добавляю из ресурсов приложения. Вот кусок кода: <br />trustStreamForTsp = context.getResources().openRawResource(R.raw.root); <br />loadCert(trustStreamForTsp);<br />Сам метод loadCert:<br />private void loadCert(InputStream trustStream) throws Exception {<br /><br /> try {<br /><br /> final CertificateFactory factory = CertificateFactory.getInstance("X.509");<br /><br /> trustCerts.add((X509Certificate) factory.generateCertificate(trustStream));<br /> } finally {<br /><br /> if (trustStream != null) {<br /><br /> try {<br /> trustStream.close();<br /> } catch (IOException e) {<br /> ;<br /> }<br /><br /> } // if<br /><br /> }<br /><br /> } <br />UPD: Добавился мой сертификат в список, но цепочка все равно не хочет строиться(мой сертификат предпоследний):<br /><br /><br />2020-07-21 15:08:29.898 28264-28321/com.example.testlake D/JCP: ru.CryptoPro.ssl.android.cl_66.a :: <br /> %% adding as trusted certificates %%<br /> --------<br /> Subject: CN=CryptoPro VPN CA, O=Crypto-Pro Ltd., L=Moscow, C=RU, EMAILADDRESS=vpnca@cryptopro.ru<br /> Serial number: 3ddff7917a4f67814e346f510129da7d<br /> Valid from Mon Sep 19 10:44:26 GMT+02:00 2011 until Sat Sep 19 09:54:24 GMT+02:00 2026<br /> --------<br /> Subject: CN="Тестовый УЦ ООО \"КРИПТО-ПРО\"", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, STREET=ул. Сущёвский вал д. 18, OID.1.2.643.3.131.1.1=#120C303031323334353637383930, OID.1.2.643.100.1=#120D31323334353637383930313233<br /> Serial number: 3b208ae5fd46688649a050faafa88393<br /> Valid from Wed Sep 12 12:19:30 GMT+02:00 2018 until Tue Sep 12 12:28:55 GMT+02:00 2023<br /> --------<br /> Subject: CN=Минкомсвязь России, OID.1.2.643.3.131.1.1=#120C303037373130343734333735, OID.1.2.643.100.1=#120D31303437373032303236373031, O=Минкомсвязь России, STREET="улица Тверская, дом 7", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru<br /> Serial number: 4e6d478b26f27d657f768e025ce3d393<br /> Valid from Fri Jul 06 14:18:06 GMT+02:00 2018 until Tue Jul 01 14:18:06 GMT+02:00 2036<br /> --------<br /> Subject: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru<br /> Serial number: 37418882f539a5924ad44e3de002ea3c<br /> Valid from Mon May 27 09:24:26 GMT+02:00 2019 until Sun May 26 09:34:05 GMT+02:00 2024<br /> --------<br /> Subject: CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 3d755a8f8468798f4fa0c0218929d594<br /> Valid from Fri Nov 11 10:11:11 GMT+02:00 2011 until Sun Nov 10 09:21:11 GMT+02:00 2041<br /> --------<br /> Subject: CN=CryptoPro VPN CA, O=Crypto-Pro Ltd., L=Moscow, C=RU, EMAILADDRESS=vpnca@cryptopro.ru<br /> Serial number: 6e4e5ed4a6de41ba4b1eebc491f4e22e<br /> Valid from Tue May 05 14:31:05 GMT+02:00 2015 until Sun May 05 14:41:03 GMT+02:00 2030<br /> --------<br /> Subject: CN=CryptoPro GOST Root CA, O="LLC \"Crypto-Pro\"", L=Moscow, ST=Moscow, C=RU, OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434<br /> Serial number: 4056ed0099a9d6af49c9ff98b9c70e70<br /> Valid from Thu Nov 15 16:14:09 GMT+02:00 2018 until Tue Nov 15 16:14:09 GMT+02:00 2033<br /> --------<br /> Subject: CN=УЦ КРИПТО-ПРО (ГОСТ 2012), O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 1e3fbf60031a9579540ca4145db0c179c<br /> Valid from Fri Aug 03 16:49:15 GMT+02:00 2018 until Wed Aug 03 16:49:15 GMT+02:00 2033<br /> --------<br /> Subject: CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 6a7c887538f2cd8b4126ff8e40c3ddba<br /> Valid from Wed Sep 09 17:01:35 GMT+02:00 2015 until Mon Sep 09 17:01:35 GMT+02:00 2030<br /> --------<br /> Subject: CN=Головной удостоверяющий центр, OID.1.2.643.3.131.1.1=#120C303037373130343734333735, OID.1.2.643.100.1=#120D31303437373032303236373031, O=Минкомсвязь России, STREET="125375 г. Москва, ул. Тверская, д. 7", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru<br /> Serial number: 34681e40cb41ef33a9a0b7c876929a29<br /> Valid from Fri Jul 20 15:31:14 GMT+02:00 2012 until Sat Jul 17 14:31:14 GMT+02:00 2027<br /> --------<br /> Subject: OU=nGate MC Certificate Authority, O=whitelake, C=RU, CN=nGate Management Console<br /> Serial number: -504dd3334460d11da29f484<br /> Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023<br /> --------<br /> Subject: CN="ООО \"КРИПТО-ПРО\"", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca@cryptopro.ru, STREET=ул. Сущёвский вал д. 18, OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434<br /> Serial number: 3e6559a570ee6fbb419c7c05ae13c293<br /> Valid from Wed Feb 04 10:33:34 GMT+02:00<br /><br /><br />Ошибка выглядит следующим образом:<br /><br />2020-07-21 15:08:33.338 28264-28321/com.example.testlake W/JCP: ru.CryptoPro.ssl.android.cl_62.a :: unable to find valid certification path to requested target<br /> sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</td></tr></table>2020-07-21T16:11:35+03:002020-07-21T16:11:35+03:00Никита Ульянов181112<table class="content postContainer" width="100%"><tr><td>Я добавляю из ресурсов приложения. Вот кусок кода: <br />trustStreamForTsp = context.getResources().openRawResource(R.raw.root); <br />loadCert(trustStreamForTsp);<br />Сам метод loadCert:<br />private void loadCert(InputStream trustStream) throws Exception {<br /><br /> try {<br /><br /> final CertificateFactory factory = CertificateFactory.getInstance("X.509");<br /><br /> trustCerts.add((X509Certificate) factory.generateCertificate(trustStream));<br /> } finally {<br /><br /> if (trustStream != null) {<br /><br /> try {<br /> trustStream.close();<br /> } catch (IOException e) {<br /> ;<br /> }<br /><br /> } // if<br /><br /> }<br /><br /> } <br />UPD: Добавился мой сертификат в список, но цепочка все равно не хочет строиться(мой сертификат предпоследний):<br /><br /><br />2020-07-21 15:08:29.898 28264-28321/com.example.testlake D/JCP: ru.CryptoPro.ssl.android.cl_66.a :: <br /> %% adding as trusted certificates %%<br /> --------<br /> Subject: CN=CryptoPro VPN CA, O=Crypto-Pro Ltd., L=Moscow, C=RU, EMAILADDRESS=vpnca@cryptopro.ru<br /> Serial number: 3ddff7917a4f67814e346f510129da7d<br /> Valid from Mon Sep 19 10:44:26 GMT+02:00 2011 until Sat Sep 19 09:54:24 GMT+02:00 2026<br /> --------<br /> Subject: CN="Тестовый УЦ ООО \"КРИПТО-ПРО\"", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, STREET=ул. Сущёвский вал д. 18, OID.1.2.643.3.131.1.1=#120C303031323334353637383930, OID.1.2.643.100.1=#120D31323334353637383930313233<br /> Serial number: 3b208ae5fd46688649a050faafa88393<br /> Valid from Wed Sep 12 12:19:30 GMT+02:00 2018 until Tue Sep 12 12:28:55 GMT+02:00 2023<br /> --------<br /> Subject: CN=Минкомсвязь России, OID.1.2.643.3.131.1.1=#120C303037373130343734333735, OID.1.2.643.100.1=#120D31303437373032303236373031, O=Минкомсвязь России, STREET="улица Тверская, дом 7", L=г. Москва, ST=77 Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru<br /> Serial number: 4e6d478b26f27d657f768e025ce3d393<br /> Valid from Fri Jul 06 14:18:06 GMT+02:00 2018 until Tue Jul 01 14:18:06 GMT+02:00 2036<br /> --------<br /> Subject: CN=CRYPTO-PRO Test Center 2, O=CRYPTO-PRO LLC, L=Moscow, C=RU, EMAILADDRESS=support@cryptopro.ru<br /> Serial number: 37418882f539a5924ad44e3de002ea3c<br /> Valid from Mon May 27 09:24:26 GMT+02:00 2019 until Sun May 26 09:34:05 GMT+02:00 2024<br /> --------<br /> Subject: CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 3d755a8f8468798f4fa0c0218929d594<br /> Valid from Fri Nov 11 10:11:11 GMT+02:00 2011 until Sun Nov 10 09:21:11 GMT+02:00 2041<br /> --------<br /> Subject: CN=CryptoPro VPN CA, O=Crypto-Pro Ltd., L=Moscow, C=RU, EMAILADDRESS=vpnca@cryptopro.ru<br /> Serial number: 6e4e5ed4a6de41ba4b1eebc491f4e22e<br /> Valid from Tue May 05 14:31:05 GMT+02:00 2015 until Sun May 05 14:41:03 GMT+02:00 2030<br /> --------<br /> Subject: CN=CryptoPro GOST Root CA, O="LLC \"Crypto-Pro\"", L=Moscow, ST=Moscow, C=RU, OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434<br /> Serial number: 4056ed0099a9d6af49c9ff98b9c70e70<br /> Valid from Thu Nov 15 16:14:09 GMT+02:00 2018 until Tue Nov 15 16:14:09 GMT+02:00 2033<br /> --------<br /> Subject: CN=УЦ КРИПТО-ПРО (ГОСТ 2012), O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 1e3fbf60031a9579540ca4145db0c179c<br /> Valid from Fri Aug 03 16:49:15 GMT+02:00 2018 until Wed Aug 03 16:49:15 GMT+02:00 2033<br /> --------<br /> Subject: CN=УЦ KPИПTO-ПPO, O=ООО КРИПТО-ПРО, L=Москва, C=RU, EMAILADDRESS=cpca@cryptopro.ru<br /> Serial number: 6a7c887538f2cd8b4126ff8e40c3ddba<br /> Valid from Wed Sep 09 17:01:35 GMT+02:00 2015 until Mon Sep 09 17:01:35 GMT+02:00 2030<br /> --------<br /> Subject: CN=Головной удостоверяющий центр, OID.1.2.643.3.131.1.1=#120C303037373130343734333735, OID.1.2.643.100.1=#120D31303437373032303236373031, O=Минкомсвязь России, STREET="125375 г. Москва, ул. Тверская, д. 7", L=Москва, ST=77 г. Москва, C=RU, EMAILADDRESS=dit@minsvyaz.ru<br /> Serial number: 34681e40cb41ef33a9a0b7c876929a29<br /> Valid from Fri Jul 20 15:31:14 GMT+02:00 2012 until Sat Jul 17 14:31:14 GMT+02:00 2027<br /> --------<br /> Subject: OU=nGate MC Certificate Authority, O=whitelake, C=RU, CN=nGate Management Console<br /> Serial number: -504dd3334460d11da29f484<br /> Valid from Tue Apr 14 01:06:07 GMT+02:00 2020 until Fri Apr 14 01:06:07 GMT+02:00 2023<br /> --------<br /> Subject: CN="ООО \"КРИПТО-ПРО\"", O="ООО \"КРИПТО-ПРО\"", L=Москва, ST=г. Москва, C=RU, EMAILADDRESS=qca@cryptopro.ru, STREET=ул. Сущёвский вал д. 18, OID.1.2.643.3.131.1.1=#120C303037373137313037393931, OID.1.2.643.100.1=#120D31303337373030303835343434<br /> Serial number: 3e6559a570ee6fbb419c7c05ae13c293<br /> Valid from Wed Feb 04 10:33:34 GMT+02:00<br /><br /><br />Ошибка выглядит следующим образом:<br /><br />2020-07-21 15:08:33.338 28264-28321/com.example.testlake W/JCP: ru.CryptoPro.ssl.android.cl_62.a :: unable to find valid certification path to requested target<br /> sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117336:1Приложение со встроенным криптопровайдером<table class="content postContainer_Alt" width="100%"><tr><td>А как вы добавляете сертификат?<br />Нет корневого с издателем "nGate Management Console" в доверенных, цепочка сервера не может быть построена.</td></tr></table>2020-07-21T15:51:44+03:002020-07-21T15:51:44+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>А как вы добавляете сертификат?<br />Нет корневого с издателем "nGate Management Console" в доверенных, цепочка сервера не может быть построена.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117334:1Приложение со встроенным криптопровайдером<table class="content postContainer" width="100%"><tr><td>Спасибо за оперативный ответ! Извиняюсь за долгий ответ вам. Проблема непонятных логов(в которых не загружались сертификаты) заключалась в эмуляторе. На реальном устройстве приложение со встроенным провайдером связывается с сервером и происходит хендшейк, но вот мой корневой сертификат так и не добавляется, ругается на кривой путь до хранилища. В хранилище уже есть пару сертификатов(видимо они уже дефолтно есть в cacerts), но вот мой сертификат из ресурсов приложения(raw ресурсы) не добавляется. Для наглядности привожу полный список логов ссылкой на pastebin:<br /><a rel="nofollow" href="https://pastebin.com/YpznfU4E" title="https://pastebin.com/YpznfU4E">https://pastebin.com/YpznfU4E</a><br /><br /><br /></td></tr></table>2020-07-21T14:37:21+03:002020-07-21T14:37:21+03:00Никита Ульянов181112<table class="content postContainer" width="100%"><tr><td>Спасибо за оперативный ответ! Извиняюсь за долгий ответ вам. Проблема непонятных логов(в которых не загружались сертификаты) заключалась в эмуляторе. На реальном устройстве приложение со встроенным провайдером связывается с сервером и происходит хендшейк, но вот мой корневой сертификат так и не добавляется, ругается на кривой путь до хранилища. В хранилище уже есть пару сертификатов(видимо они уже дефолтно есть в cacerts), но вот мой сертификат из ресурсов приложения(raw ресурсы) не добавляется. Для наглядности привожу полный список логов ссылкой на pastebin:<br /><a rel="nofollow" href="https://pastebin.com/YpznfU4E" title="https://pastebin.com/YpznfU4E">https://pastebin.com/YpznfU4E</a><br /><br /><br /></td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116959:1Приложение со встроенным криптопровайдером<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Никита Ульянов181112 <a href="/forum2/default.aspx?g=posts&m=116955#post116955"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Сертификат что там, что там берется из ресурсов приложения и добавляется в cacerts. Только вот с библиотеками из ACSPClient все идет успешно, а из ACSPInClient не добавляется ни один. Как понять отличаются cacerts?</div></div><br />Частая ошибка - в trust store кладут сертификат сервера, а не КОРНЕВОЙ сертификат из цепочки сервера.<br />Проверить можно, пожалуй, только зайдя, например, через adb shell и выкачав (adb pull) из папки security/cacerts (в папке приложения) у каждого из приложений (работающего и неработающего) после того, как убедитесь, что одно успешно отработало, а второе - не работает.<br />Еще можно приложить лог из adb logcat, предварительно включив логирование:<br />adb shell setprop log.tag.JCP DEBUG<br />Для выключения лога выполнить:<br />adb shell setprop log.tag.JCP INFO</td></tr></table>2020-07-10T16:03:30+03:002020-07-10T16:03:30+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td><div class="quote"><span class="quotetitle">Автор: Никита Ульянов181112 <a href="/forum2/default.aspx?g=posts&m=116955#post116955"><img src="/forum2/Themes/soclean/icon_latest_reply.gif" title="Перейти к цитате" alt="Перейти к цитате" /></a></span><blockquote>Сертификат что там, что там берется из ресурсов приложения и добавляется в cacerts. Только вот с библиотеками из ACSPClient все идет успешно, а из ACSPInClient не добавляется ни один. Как понять отличаются cacerts?</div></div><br />Частая ошибка - в trust store кладут сертификат сервера, а не КОРНЕВОЙ сертификат из цепочки сервера.<br />Проверить можно, пожалуй, только зайдя, например, через adb shell и выкачав (adb pull) из папки security/cacerts (в папке приложения) у каждого из приложений (работающего и неработающего) после того, как убедитесь, что одно успешно отработало, а второе - не работает.<br />Еще можно приложить лог из adb logcat, предварительно включив логирование:<br />adb shell setprop log.tag.JCP DEBUG<br />Для выключения лога выполнить:<br />adb shell setprop log.tag.JCP INFO</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid116955:1Приложение со встроенным криптопровайдером<table class="content postContainer" width="100%"><tr><td>Сертификат что там, что там берется из ресурсов приложения и добавляется в cacerts. Только вот с библиотеками из ACSPClient все идет успешно, а из ACSPInClient не добавляется ни один. Как понять отличаются cacerts?</td></tr></table>2020-07-10T15:07:25+03:002020-07-10T15:07:25+03:00Никита Ульянов181112<table class="content postContainer" width="100%"><tr><td>Сертификат что там, что там берется из ресурсов приложения и добавляется в cacerts. Только вот с библиотеками из ACSPClient все идет успешно, а из ACSPInClient не добавляется ни один. Как понять отличаются cacerts?</td></tr></table>