Welcome to mirror list, hosted at ThFree Co, Russian Federation.

CertUtilsTest.kt « cert4android « bitfire « at « java « test « src - github.com/bitfireAT/cert4android.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: cd33b18cd6b98d5308f4796c0f05d93a9d2d7013 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * Copyright © Ricki Hirner (bitfire web engineering).
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Public License v3.0
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/gpl.html
 */

package at.bitfire.cert4android

import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotNull
import org.junit.Test
import java.security.cert.CertificateFactory
import java.security.cert.X509Certificate
import java.security.spec.MGF1ParameterSpec

class CertUtilsTest {

    val certFactory = CertificateFactory.getInstance("X.509")


    @Test
    fun testFingerprint() {
        javaClass.classLoader!!.getResourceAsStream("davdroid-web.crt").use { stream ->
            val cert = certFactory.generateCertificate(stream) as X509Certificate
            assertEquals("8D:E5:74:B2:AA:3E:5C:EE:62:84:4A:3B:78:71:B6:C3", CertUtils.fingerprint(cert, "MD5"))
            assertEquals("6C:83:A0:12:1A:F5:55:BF:C2:BC:23:DA:78:E4:5F:88:6E:01:0A:BC", CertUtils.fingerprint(cert, MGF1ParameterSpec.SHA1.digestAlgorithm))
        }
    }

    @Test
    fun testGetTrustManagerSystem() {
        assertNotNull(CertUtils.getTrustManager(null))
    }

    @Test
    fun testGetTag() {
        javaClass.classLoader!!.getResourceAsStream("davdroid-web.crt").use { stream ->
            val cert = certFactory.generateCertificate(stream) as X509Certificate
            assertNotNull(cert)

            assertEquals("276126a80783ee16b84811e1e96e977a" +
                    "05ac0f980c586cc9784d95a804260c6d" +
                    "ddea1172266f210ef2d9463fee60afe7" +
                    "875274bdc65b91838f65ba566a51e55e" +
                    "143e7c40948eb5f314d253d36a695235" +
                    "c6df782e773f8455431e905d65d5d489" +
                    "a4e8afcfdc2dceb8ba5f706f71c75106" +
                    "caae8d4de5670d3721c722df11a0f377" +
                    "b13aca4525399954c31414dcb5449cbe" +
                    "3b444595b31952bb5782aff07d0d4ff3" +
                    "feefeabe8332a7fef47d64f29546a127" +
                    "e461ed972e5d1bbe0ebca916ed0fb03b" +
                    "81ec4c6019ac2f01b9f6c22dfbf4fb69" +
                    "0564874dc8e7ee3ac2ac0f29722ca353" +
                    "17865e1cac3c4a1fb9780fafd1c8763e" +
                    "1b4854d63067b91ece029833e9506b75", CertUtils.getTag(cert))
        }
    }

    @Test
    fun testHexString() {
        assertEquals("", CertUtils.hexString(ByteArray(0)))
        assertEquals("00:01:02:03:04:05:06:07:08:09:0A:0B:0C:0D:0E:0F:10", CertUtils.hexString(ByteArray(17) { i -> i.toByte() }))
    }

}