Atom Лента - Форум КриптоПро - Тема:Ssl соединение через Okhttp3 клиент - 10Форум КриптоПро - Atom Лентаurn:https:--www-cryptopro-ru:AtomLenta:ForumKriptoPro:Tema:SslsoedineniecherezOkhttp3klient-10:1Copyright 2024 Форум КриптоПро2024-03-29T08:59:36Zhttps://www.cryptopro.ru/forum2/Images/YAFLogo.pngForum Adminhttps://www.cryptopro.ruforum@cryptopro.ruЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений АфанасьевЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевarmen.shttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57026&name=armen.sЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевarmen.shttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57026&name=armen.sЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевarmen.shttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57026&name=armen.sЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевarmen.shttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57026&name=armen.sЕвгений Афанасьевhttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=1064&name=Евгений Афанасьевarmen.shttps://www.cryptopro.ru/forum2/default.aspx?g=profile&u=57026&name=armen.sYetAnotherForum.NETurn:https:--www-cryptopro-ru:ftPosts:st1:meid117923:1Ssl соединение через Okhttp3 клиент<table class="content postContainer_Alt" width="100%"><tr><td>Здравствуйте.<br />Обычно указанные параметры - это параметры для контекста по умолчанию: он создается, например, в HttpsURLConnection. Часто https-реализации используют нечто вроде SSLContext.getDefault(), который создаст контекст на основании заданных параметров.<br />Их можно задать А) программно в виде алгоритмов и использовать CSPConfig.init(), Б) можно использовать CSPConfig.initEx() и они будут заданы в нем, например, для HttpsURLConnection.<br />Если контекст SSLContext создается самостоятельно с указанием всех необходимых алгоритмов (GostTLS, GostX509), то параметры, задаваемые через Security.setProperty, не нужны. Практически все реализации https принимают либо SSLContext, либо SSLSocketFactory, которые можно успешно создать самостоятельно, с указанием алгоритмов, то есть Security.setProperty не нужен, можно использовать CSPConfig.init().</td></tr></table>2020-08-07T17:55:30+03:002020-08-07T17:55:30+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>Здравствуйте.<br />Обычно указанные параметры - это параметры для контекста по умолчанию: он создается, например, в HttpsURLConnection. Часто https-реализации используют нечто вроде SSLContext.getDefault(), который создаст контекст на основании заданных параметров.<br />Их можно задать А) программно в виде алгоритмов и использовать CSPConfig.init(), Б) можно использовать CSPConfig.initEx() и они будут заданы в нем, например, для HttpsURLConnection.<br />Если контекст SSLContext создается самостоятельно с указанием всех необходимых алгоритмов (GostTLS, GostX509), то параметры, задаваемые через Security.setProperty, не нужны. Практически все реализации https принимают либо SSLContext, либо SSLSocketFactory, которые можно успешно создать самостоятельно, с указанием алгоритмов, то есть Security.setProperty не нужен, можно использовать CSPConfig.init().</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117920:1Ssl соединение через Okhttp3 клиент<table class="content postContainer" width="100%"><tr><td>Добрый день, у меня появился еще один вопрос,<br />после инициализации CSPCConfig.initEx() или после вызова<br /> <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">Security.setProperty("ssl.KeyManagerFactory.algorithm", "GostX509");
Security.setProperty("ssl.TrustManagerFactory.algorithm", "GostX509");
Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.android.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.android.SSLServerSocketFactoryImpl");</code></pre>
</div></div><br /><br />чтобы подключиться к серверам с обычными SSL сертификатами, нужно вернуть значения по умолчанию. Есть ли другой способ, который позволит паралелльно создавать/использовать и обычный SSL контекст, и ГОСТ-овый?<br /><br />при инизиализации TrustManagerFactory явно указывается GostX509, с этим проблем быть не должно. Дефолт KeyManagerFactory можно не указывать. <br />а вот можно ли без SocketFactory? <br /><br /><br />Спасибо<br /><br /><strong>UPD:</strong> Как я понял, все эти параметры для клиентов, которые не принимают явно SSLContext и пр., а используют дефолтные. Так что можно и без них, если правильно проинициализировать клиент.</td></tr></table>2020-08-07T17:46:46+03:002020-08-07T17:46:46+03:00armen.s<table class="content postContainer" width="100%"><tr><td>Добрый день, у меня появился еще один вопрос,<br />после инициализации CSPCConfig.initEx() или после вызова<br /> <br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-java">Security.setProperty("ssl.KeyManagerFactory.algorithm", "GostX509");
Security.setProperty("ssl.TrustManagerFactory.algorithm", "GostX509");
Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.android.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.android.SSLServerSocketFactoryImpl");</code></pre>
</div></div><br /><br />чтобы подключиться к серверам с обычными SSL сертификатами, нужно вернуть значения по умолчанию. Есть ли другой способ, который позволит паралелльно создавать/использовать и обычный SSL контекст, и ГОСТ-овый?<br /><br />при инизиализации TrustManagerFactory явно указывается GostX509, с этим проблем быть не должно. Дефолт KeyManagerFactory можно не указывать. <br />а вот можно ли без SocketFactory? <br /><br /><br />Спасибо<br /><br /><strong>UPD:</strong> Как я понял, все эти параметры для клиентов, которые не принимают явно SSLContext и пр., а используют дефолтные. Так что можно и без них, если правильно проинициализировать клиент.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117711:1Ssl соединение через Okhttp3 клиент<table class="content postContainer_Alt" width="100%"><tr><td>Ориентировочно в августе.</td></tr></table>2020-07-31T08:47:59+03:002020-07-31T08:47:59+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>Ориентировочно в августе.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117618:1Ssl соединение через Okhttp3 клиент<table class="content postContainer" width="100%"><tr><td>Да, конечно.<br />А когда примерно будет релиз?</td></tr></table>2020-07-29T12:45:11+03:002020-07-29T12:45:11+03:00armen.s<table class="content postContainer" width="100%"><tr><td>Да, конечно.<br />А когда примерно будет релиз?</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117617:1Ssl соединение через Okhttp3 клиент<table class="content postContainer_Alt" width="100%"><tr><td>Когда будет выложена релизная сборка, sdk надо будет обновить.</td></tr></table>2020-07-29T12:41:50+03:002020-07-29T12:41:50+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>Когда будет выложена релизная сборка, sdk надо будет обновить.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117616:1Ssl соединение через Okhttp3 клиент<table class="content postContainer" width="100%"><tr><td>Спасибо, все работает.</td></tr></table>2020-07-29T12:41:02+03:002020-07-29T12:41:02+03:00armen.s<table class="content postContainer" width="100%"><tr><td>Спасибо, все работает.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117603:1Ssl соединение через Okhttp3 клиент<table class="content postContainer_Alt" width="100%"><tr><td>Попробуйте <a rel="nofollow" href="https://github.com/afev/crypto-sample" title="https://github.com/afev/crypto-sample">https://github.com/afev/crypto-sample</a><br />Тут используется промежуточная(!) сборка sdk.<br />В MainActivity прописан OkHttp пример.</td></tr></table>2020-07-29T11:27:50+03:002020-07-29T11:27:50+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>Попробуйте <a rel="nofollow" href="https://github.com/afev/crypto-sample" title="https://github.com/afev/crypto-sample">https://github.com/afev/crypto-sample</a><br />Тут используется промежуточная(!) сборка sdk.<br />В MainActivity прописан OkHttp пример.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117582:1Ssl соединение через Okhttp3 клиент<table class="content postContainer" width="100%"><tr><td>а можно как-то получить доступ к исправленой версии? <img src="/forum2/Images/Emoticons/eusa_angel.gif" alt="Angel" /> </td></tr></table>2020-07-28T20:00:16+03:002020-07-28T20:00:16+03:00armen.s<table class="content postContainer" width="100%"><tr><td>а можно как-то получить доступ к исправленой версии? <img src="/forum2/Images/Emoticons/eusa_angel.gif" alt="Angel" /> </td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117576:1Ssl соединение через Okhttp3 клиент<table class="content postContainer_Alt" width="100%"><tr><td>В данном проекте используется промежуточная сборка после последней с сайта. Промежуточная сборка содержит ошибку, которая уже была исправлена. Вероятно, эта сборка была выслана клиенту в рамках запроса в портале тех поддержки.</td></tr></table>2020-07-28T18:59:19+03:002020-07-28T18:59:19+03:00Евгений Афанасьев<table class="content postContainer_Alt" width="100%"><tr><td>В данном проекте используется промежуточная сборка после последней с сайта. Промежуточная сборка содержит ошибку, которая уже была исправлена. Вероятно, эта сборка была выслана клиенту в рамках запроса в портале тех поддержки.</td></tr></table>urn:https:--www-cryptopro-ru:ftPosts:st1:meid117572:1Ssl соединение через Okhttp3 клиент<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br />Взял сэмпл проект выше, добавил корневой сертификат cpca.cryptopro.ru в хранилище, и протокол TLSv1 в конфиг okhttp, но не удается соединиться:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">ru.CryptoPro.JCSP.MSCAPI.MSHashNSignException: Key ERROR: 0x80090002</code></pre>
</div></div><br /><br />можете подсказать что это за ошибка?<br /><br />вот логи [attach]8899[/attach]<br /><br />Заранее спасибо.</td></tr></table>2020-07-28T18:13:51+03:002020-07-28T18:13:51+03:00armen.s<table class="content postContainer" width="100%"><tr><td>Здравствуйте.<br />Взял сэмпл проект выше, добавил корневой сертификат cpca.cryptopro.ru в хранилище, и протокол TLSv1 в конфиг okhttp, но не удается соединиться:<br /><br /><div class="code"><strong>Код:</strong><div class="innercode"><pre class="line-numbers"><code class="language-bash">ru.CryptoPro.JCSP.MSCAPI.MSHashNSignException: Key ERROR: 0x80090002</code></pre>
</div></div><br /><br />можете подсказать что это за ошибка?<br /><br />вот логи [attach]8899[/attach]<br /><br />Заранее спасибо.</td></tr></table>