Взаимная аутентификация WSO2 с использованием SCEP - PullRequest
0 голосов
/ 07 апреля 2020

Я новичок в WSO2. Я должен реализовать взаимную аутентификацию между устройством и сервером в среде WSO2, используя SCEP (простой протокол регистрации сертификатов). У нас есть SCEP на одном из windows серверов. Мы можем выдать сертификат на сервере SCEP, сгенерировав пароль Challenge. У нас также есть сертификат CA, предоставленный нашим клиентом. (У нас нет данных CA).

Согласно документации WSO2, мы пытаемся импортировать оба сертификата в хранилища ключей wso2carbon.jks и client-truststore.jks. в нашем QA-сервере. Мы также создаем файл «truststore.bks», используя эти сертификаты, которые могут использоваться устройством (мы не занимаемся вопросами устройства). Используя этот файл .bks, мы получаем файл apk, который создается с использованием кода агента WSO2.

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

TID: [-1] [] [2020-04-06 05:49:39,228] ERROR {org.apache.synapse.transport.passthru.SourceHandler} -  I/O error: Received fatal alert: certificate_unknown {org.apache.synapse.transport.passthru.SourceHandler}
javax.net.ssl.SSLException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1647)
    at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1615)
    at sun.security.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1781)
    at sun.security.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1070)
    at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:896)
    at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:766)
    at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:245)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:280)
    at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:410)
    at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
    at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
    at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
    at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
    at java.lang.Thread.run(Thread.java:748)
...