Commit Graph

7 Commits

Author SHA1 Message Date
Harald Welte a64944c461 add README.md 2023-07-03 18:55:17 +02:00
Harald Welte 970c01fc13 asn.1 Update SGP32Definitions to conform to SGP.32 1.0-5
There are secret sub-version numbers in GSMA eSIM specifications.

My original ASN.1 code here was taken from SGP.32-1.0-3.pdf
CreationDate:    Tue May 30 15:45:45 2023 CEST
ModDate:         Tue May 30 15:45:45 2023 CEST

while now there is a SGP.32-1.0-5.pdf which has
CreationDate:    Wed Jun  7 15:30:52 2023 CEST
ModDate:         Wed Jun  7 15:30:52 2023 CEST

And a pdftotext + diff -u reads like this:
--- SGP.32-1.0-3.txt    2023-07-03 18:47:59.517810908 +0200
+++ SGP.32-1.0-5.txt    2023-07-03 18:48:02.217828652 +0200
@@ -2571,20 +2571,20 @@
 counterValue [3] INTEGER OPTIONAL, -- initial counterValue for the eIM
 associationToken [4] INTEGER OPTIONAL,
 eimPublicKeyData [5] CHOICE {
-eimPublicKey [6] SubjectPublicKeyInfo, -- public key of eIM, used for eUICC
+eimPublicKey SubjectPublicKeyInfo, -- public key of eIM, used for eUICC
 Package signature verification, where the encoding follows X.509 standard
-eimCertificate [7] Certificate -- certificate of eIM, used for eUICC Package
+eimCertificate Certificate -- certificate of eIM, used for eUICC Package
 signature verification, where the encoding follows X.509 standard
 } OPTIONAL,
-trustedPublicKeyDataTls [8] CHOICE {
-trustedEimPkTls [9] SubjectPublicKeyInfo, -- public key of eIM, used for TLS or
+trustedPublicKeyDataTls [6] CHOICE {
+trustedEimPkTls SubjectPublicKeyInfo, -- public key of eIM, used for TLS or
 DTLS, where the encoding follows X.509 standard
-trustedCertificateTls [10] Certificate -- either the certificate of eIM, used
-for (D)TLS, or the certificate of the CA, where the encoding follows X.509 standard
+trustedCertificateTls Certificate -- either the certificate of eIM, used for
+(D)TLS, or the certificate of the CA, where the encoding follows X.509 standard
 } OPTIONAL,
-eimSupportedProtocol [11] EimSupportedProtocol OPTIONAL,
-euiccCiPKId [12] SubjectKeyIdentifier OPTIONAL -- CI Public Key Identifier
-supported on the eUICC for signature creation
+eimSupportedProtocol [7] EimSupportedProtocol OPTIONAL,
+euiccCiPKId [8] SubjectKeyIdentifier OPTIONAL -- CI Public Key Identifier supported
+on the eUICC for signature creation
 }
 EimIdType ::= INTEGER {
 eimIdTypeOid(1),
@@ -7860,18 +7860,18 @@
 This function requests the delivery and the binding of a Profile Package for the eUICC.
 This function is correlated to a previous normal execution of an Esipa.AuthenticateClient
 function through a TransactionID delivered by the SM-DP+.
-On reception of this function call, the Eim SHALL call the ES9+’.GetBoundProfilePackage
+On reception of this function call, the eIM SHALL call the ES9+’.GetBoundProfilePackage
 function based on the received input data. The input parameters of this function are identical
 to the those of ES9+.GetBoundProfilePackage defined in section 5.6.2 of SGP.22 [4].
 However, the prepareDownloadResponse is extended according to the below ASN.1 structure
 where a compactDownloadResponseOk is added. An IPA with IPA Capability
 minimizeEsipaBytes SHOULD re-encode a prepareDownloadResponse with
 downloadResponseOk received from eUICC into a prepareDownloadResponse with
-compactDownloadResponseOk in order to reduce the number of bytes to transmit to the Eim.
-Before calling the ES9+’.GetBoundProfilePackage function, an Eim that receives a
+compactDownloadResponseOk in order to reduce the number of bytes to transmit to the eIM.
+Before calling the ES9+’.GetBoundProfilePackage function, an eIM that receives a
 prepareDownloadResponse from an IPA with IPA Capability minimizeEsipaBytes SHALL
 restore the prepareDownloadResponse prepared by the eUICC based on the received
-prepareDownloadResponse and data already available to the Eim (smdpSigned2 and
+prepareDownloadResponse and data already available to the eIM (smdpSigned2 and
 hashCc).
 Additional Input Data:
 Input data name
2023-07-03 18:52:09 +02:00
Harald Welte b987cd9fdc asn1: SGP.32 actually contains a different EUICCInfo2 type
As the GSMA responded, SGP.32 has its own EUICCInfo2 type defined
in section 5.9.2 - it doesn't use the type from SGP.22 as I originally
assumed.
2023-07-03 18:44:27 +02:00
Harald Welte 49285e7b2d SGP.32: remove bogus imports (SubjectKeyIdentifier, CancelSessionResponseError)
Those imports don't exist in SGP.22 and are not even used in SGP.32.
2023-06-28 13:45:18 +02:00
Harald Welte bb07e06ba6 fix naming of PKIX asn.1 files. In erlang the file + module name must agree 2023-06-28 13:37:57 +02:00
Harald Welte febf51f474 SGP32Definitions: Add missing imports (missing from SGP.32 spec!) 2023-06-28 13:10:41 +02:00
Harald Welte 038768c879 initial checking of ASN.1 syntax related to IoT eSIM / SGP.32 2023-06-28 13:10:29 +02:00