Coverage Summary for Class: SavingTrustManagerKt (dev.suresh.tls)
Class |
Class, %
|
Method, %
|
Branch, %
|
Line, %
|
Instruction, %
|
SavingTrustManagerKt |
0%
(0/1)
|
0%
(0/1)
|
|
0%
(0/4)
|
0%
(0/28)
|
package dev.suresh.tls
import java.security.cert.X509Certificate
import javax.net.ssl.*
class SavingTrustManager : X509TrustManager {
private val _chain = mutableListOf<X509Certificate>()
val chain: List<X509Certificate>
get() = _chain
override fun checkClientTrusted(chain: Array<X509Certificate>, authType: String) {
_chain.addAll(chain)
}
override fun checkServerTrusted(chain: Array<X509Certificate>, authType: String) {
_chain.addAll(chain)
}
override fun getAcceptedIssuers(): Array<X509Certificate> = emptyArray()
}
fun SavingTrustManager.newTLSSocket(): SSLSocket {
val tm = this
return SSLContext.getInstance("TLS").run {
init(null, arrayOf(tm), null)
socketFactory.createSocket() as SSLSocket
}
}