
Demonstrates integration of TrustPin SDK in an Android app, featuring automatic certificate validation, HTTPS connection testing, error handling, and a Material Design UI with comprehensive logging.
This Android application demonstrates how to integrate and use the TrustPin Kotlin SDK in an Android project.
./gradlew :assemblehttps://httpbin.org/get)MainActivity.kt: Main activity with UI and TrustPin integrationactivity_main.xml: Material Design UI layoutOKHTTP for automatic certificate validationTrustPin.setup(organizationId, projectId, publicKey)val sslSocketFactory = TrustPinSSLSocketFactory.create()
val client = OkHttpClient.Builder()
.connectTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.readTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.writeTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.sslSocketFactory(sslSocketFactory, sslSocketFactory.trustManager())
.build()// Verify an X.509 certificate for a specific domain
val domain = "api.example.com"
val certificate: X509Certificate = // ... obtained from connection
try {
TrustPin.verify(domain = domain, certificate = certificate)
println("✅ Certificate is valid and matches configured pins")
} catch (e: TrustPinError.DomainNotRegistered) {
println("⚠️ Domain not configured for pinning")
} catch (e: TrustPinError.PinsMismatch) {
println("❌ Certificate doesn't match any configured pins")
} catch (e: TrustPinError) {
println("💥 Verification failed: ${e.message}")
}The app provides detailed logging to help understand:
usesCleartextTraffic="true")Enable debug logging to see detailed TrustPin operation logs:
TrustPin.setLogLevel(TrustPinLogLevel.DEBUG)The TrustPin Kotlin SDK is available on Maven Central: cloud.trustpin:kotlin-sdk
dependencies {
implementation("cloud.trustpin:kotlin-sdk:0.0.6")
}dependencies {
implementation 'cloud.trustpin:kotlin-sdk:0.0.6'
}<dependency>
<groupId>cloud.trustpin</groupId>
<artifactId>kotlin-sdk</artifactId>
<version>0.0.6</version>
</dependency>This Android application demonstrates how to integrate and use the TrustPin Kotlin SDK in an Android project.
./gradlew :assemblehttps://httpbin.org/get)MainActivity.kt: Main activity with UI and TrustPin integrationactivity_main.xml: Material Design UI layoutOKHTTP for automatic certificate validationTrustPin.setup(organizationId, projectId, publicKey)val sslSocketFactory = TrustPinSSLSocketFactory.create()
val client = OkHttpClient.Builder()
.connectTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.readTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.writeTimeout(30, java.util.concurrent.TimeUnit.SECONDS)
.sslSocketFactory(sslSocketFactory, sslSocketFactory.trustManager())
.build()// Verify an X.509 certificate for a specific domain
val domain = "api.example.com"
val certificate: X509Certificate = // ... obtained from connection
try {
TrustPin.verify(domain = domain, certificate = certificate)
println("✅ Certificate is valid and matches configured pins")
} catch (e: TrustPinError.DomainNotRegistered) {
println("⚠️ Domain not configured for pinning")
} catch (e: TrustPinError.PinsMismatch) {
println("❌ Certificate doesn't match any configured pins")
} catch (e: TrustPinError) {
println("💥 Verification failed: ${e.message}")
}The app provides detailed logging to help understand:
usesCleartextTraffic="true")Enable debug logging to see detailed TrustPin operation logs:
TrustPin.setLogLevel(TrustPinLogLevel.DEBUG)The TrustPin Kotlin SDK is available on Maven Central: cloud.trustpin:kotlin-sdk
dependencies {
implementation("cloud.trustpin:kotlin-sdk:0.0.6")
}dependencies {
implementation 'cloud.trustpin:kotlin-sdk:0.0.6'
}<dependency>
<groupId>cloud.trustpin</groupId>
<artifactId>kotlin-sdk</artifactId>
<version>0.0.6</version>
</dependency>