Статус: Участник
Группы: Участники
Зарегистрирован: 17.07.2013(UTC) Сообщений: 11
|
Добрый день. Пытаюсь сделать GET запрос через TLS с использованием Apache HTTP Client. Код такой: Код:
Log.d(tag, "CryptoPro infrastructure initialization.");
final int cryptoProInitStatus = CSPConfig.initInAndroid(getApplication());
if (Security.getProvider(JCSP.PROVIDER_NAME) == null) {
Security.addProvider(new JCSP());
}
if (Security.getProvider(ru.CryptoPro.ssl.Provider.PROVIDER_NAME) == null) {
Security.addProvider(new ru.CryptoPro.ssl.Provider());
}
if (Security.getProvider(RevCheck.PROVIDER_NAME) == null) {
Security.addProvider(new RevCheck());
}
// <...>
Security.setProperty("ssl.KeyManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);
Security.setProperty("ssl.TrustManagerFactory.algorithm", ru.CryptoPro.ssl.Provider.KEYMANGER_ALG);
Security.setProperty("ssl.SocketFactory.provider", "ru.CryptoPro.ssl.SSLSocketFactoryImpl");
Security.setProperty("ssl.ServerSocketFactory.provider", "ru.CryptoPro.ssl.SSLServerSocketFactoryImpl");
Log.d(tag, "Load trusted certificate store.");
final InputStream trustedCertificateStoreStream = getResources().openRawResource(R.raw.trusted_certificate_store);
final KeyStore certificateStore;
try {
certificateStore = KeyStore.getInstance(JCSP.CERT_STORE_NAME, JCSP.PROVIDER_NAME);
} catch (Exception ex) {
exception = ex;
Log.e(tag, "Error when obtaining instance of KeyStore.", ex);
return null;
}
try {
certificateStore.load(trustedCertificateStoreStream, null);
} catch (Exception ex) {
exception = ex;
Log.e(tag, "Error when loading trusted certificate store.", ex);
return null;
}
Log.d(tag, "Create SSLSocketFactory.");
final SSLSocketFactory sslSocketFactory;
try {
sslSocketFactory = new SSLSocketFactory(ru.CryptoPro.ssl.Provider.ALGORITHM, null, null, certificateStore, null, null);
} catch (Exception ex) {
exception = ex;
Log.e(tag, "Error creating SSLSocketFactory.", ex);
return null;
}
Получаю ошибку при создании SSLSocketFactory: Код: java.security.ProviderException: JCP
at ru.CryptoPro.ssl.SSLContextImpl.engineInit(Unknown Source)
at javax.net.ssl.SSLContext.init(SSLContext.java:219)
at org.apache.http.conn.ssl.SSLSocketFactory.<init>(SSLSocketFactory.java:193)
at com.example.android.encryption.demo.activity.MainActivity$LoadTLSTestPageTask.doInBackground(MainActivity.java:131)
at com.example.android.encryption.demo.activity.MainActivity$LoadTLSTestPageTask.doInBackground(MainActivity.java:92)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
Caused by: java.security.NoSuchProviderException: JCP
at java.security.SecureRandom.getInstance(SecureRandom.java:189)
... 12 more
Подскажите, куда копать.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,963 Откуда: Крипто-Про Сказал(а) «Спасибо»: 20 раз Поблагодарили: 704 раз в 665 постах
|
Добрый день. Отсутствует (см. ru.CryptoPro.ACSPClientApp.example.interfaces.ITLSData) Код:
static {
// Для проверки статуса сертификата.
System.setProperty("com.sun.security.enableCRLDP", "true");
System.setProperty("com.ibm.security.enableCRLDP", "true");
// Провайдер хеширования, подписи, шифрования по умолчанию.
cpSSLConfig.setDefaultSSLProvider(JCSP.PROVIDER_NAME);
}
Отредактировано пользователем 17 июля 2013 г. 17:22:43(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 17.07.2013(UTC) Сообщений: 11
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close