|
|
@@ -7,8 +7,32 @@ import java.security.cert.CertificateFactory
|
|
|
|
|
|
const val DEFAULT_PKID_GSMA_RSP2_ROOT_CI1 = "81370f5125d0b1d408d4c3b232e6d25e795bebfb"
|
|
|
|
|
|
-val PKID_GSMA_TEST_CI =
|
|
|
- arrayOf("34eecf13156518d48d30bdf06853404d115f955d", "2209f61cd9ec5c9c854e787341ff83ecf9776a5b")
|
|
|
+// SGP.28 v1.0, eSIM CI Registration Criteria (Page 5 of 9, 2019-10-24)
|
|
|
+// https://www.gsma.com/newsroom/wp-content/uploads/SGP.28-v1.0.pdf#page=5
|
|
|
+// FS.27 v2.0, Security Guidelines for UICC Profiles (Page 25 of 27, 2024-01-30)
|
|
|
+// https://www.gsma.com/solutions-and-impact/technologies/security/wp-content/uploads/2024/01/FS.27-Security-Guidelines-for-UICC-Credentials-v2.0-FINAL-23-July.pdf#page=25
|
|
|
+
|
|
|
+// List of GSMA Live CIs
|
|
|
+// https://www.gsma.com/solutions-and-impact/technologies/esim/gsma-root-ci/
|
|
|
+val PKID_GSMA_LIVE_CI = arrayOf(
|
|
|
+ // GSMA RSP2 Root CI1 (SGP.22 v2+v3, CA: DigiCert)
|
|
|
+ // https://euicc-manual.osmocom.org/docs/pki/ci/files/81370f.txt
|
|
|
+ DEFAULT_PKID_GSMA_RSP2_ROOT_CI1,
|
|
|
+ // OISITE GSMA CI G1 (SGP.22 v2+v3, CA: WISeKey)
|
|
|
+ // https://euicc-manual.osmocom.org/docs/pki/ci/files/4c2796.txt
|
|
|
+ "4c27967ad20c14b391e9601e41e604ad57c0222f",
|
|
|
+)
|
|
|
+
|
|
|
+// SGP.26 v3.0, 2023-12-01
|
|
|
+// https://www.gsma.com/solutions-and-impact/technologies/esim/wp-content/uploads/2023/12/SGP.26-v3.0.pdf
|
|
|
+val PKID_GSMA_TEST_CI = arrayOf(
|
|
|
+ // Test CI (SGP.26, NIST P256)
|
|
|
+ // https://euicc-manual.osmocom.org/docs/pki/ci/files/34eecf.txt
|
|
|
+ "34eecf13156518d48d30bdf06853404d115f955d",
|
|
|
+ // Test CI (SGP.26, BRP P256r1)
|
|
|
+ // https://euicc-manual.osmocom.org/docs/pki/ci/files/2209f6.txt
|
|
|
+ "2209f61cd9ec5c9c854e787341ff83ecf9776a5b",
|
|
|
+)
|
|
|
|
|
|
private fun getCertificate(keyId: String): Certificate? =
|
|
|
KNOWN_CI_CERTS[keyId]?.toByteArray()?.let { cert ->
|
|
|
@@ -60,7 +84,7 @@ internal val KNOWN_CI_CERTS = hashMapOf(
|
|
|
-----END CERTIFICATE-----
|
|
|
""".trimIndent(),
|
|
|
// OISITE GSMA CI G1 (CA: WISeKey)
|
|
|
- // Specs: SGP.21 and SGP.22 version 3
|
|
|
+ // Specs: SGP.21 and SGP.22 version 2 and version 3
|
|
|
"4c27967ad20c14b391e9601e41e604ad57c0222f" to """
|
|
|
-----BEGIN CERTIFICATE-----
|
|
|
MIIB9zCCAZ2gAwIBAgIUSpBSCCDYPOEG/IFHUCKpZ2pIAQMwCgYIKoZIzj0EAwIw
|