asn1: Add printing of ASN.1 values
JSON-like printing of ASN.1 parsed values. Status: - Not X.697 (JER) compliant, not even close. - String escaping isn't JSON-compliant. - It's not printing the names of CHOICE types. - It's not printing the names of open type choices (i.e., IOS object names) And yet it's quite useful already. It prints all the weird things in EK certs for example. Here's what it outputs for the EK cert we use in check-gen.c: { "_type": "Certificate", "tbsCertificate": { "_type": "TBSCertificate", "_save": "30820376A00302010202146A0597BA71D7E6D3AC0EDC9EDC95A15B998DE40A300D06092A864886F70D01010B05003055310B3009060355040613024348311E301C060355040A131553544D6963726F656C656374726F6E696373204E56312630240603550403131D53544D2054504D20454B20496E7465726D656469617465204341203035301E170D3138313231343030303030305A170D3238313231343030303030305A300030820122300D06092A864886F70D01010105000382010F003082010A0282010100CC14EB27A78CEB0EA486FA2DF7835F5FA8E905B097012B5BDE50380C355B1A2A721BBC3D08DD21796CDB239FA95310651B1B56FD2CFE53C87352EBD996E33256160404CE9302A08066801E786A2F86E181F949966F492A85B58EAA4A6A8CB3697551BB236E87CC7BF8EC1347871C91E15437E8F266BF1EA5EB271FDCF374D8B47DF8BCE89E1FAD61C2A088CB4036B359CB72A294973FEDCCF0C340AFFD14B64F041165581ACA34147C1C75617047058F7ED7D603E032508094FA73E8B9153DA3BF255D2CBBC5DF301BA8F74D198BEBCE86040FC1D2927C7657414490D802F482F3EBF2DE35EE149A1A6DE8D16891FBFBA02A18AFE59F9D6F149744E5F0D559B10203010001A38201A9308201A5301F0603551D230418301680141ADB994AB58BE57A0CC9B900E7851E1A43C0866030420603551D20043B303930370604551D2000302F302D06082B060105050702011621687474703A2F2F7777772E73742E636F6D2F54504D2F7265706F7369746F72792F30590603551D110101FF044F304DA44B304931163014060567810502010C0B69643A353335343444323031173015060567810502020C0C53543333485450484148433031163014060567810502030C0B69643A303034393030303830670603551D090460305E301706056781050210310E300C0C03322E300201000202008A304306056781050212313A30380201000101FFA0030A0101A1030A0100A2030A0100A310300E1603332E310A01040A01020101FFA40F300D16053134302D320A0102010100300E0603551D0F0101FF040403020520300C0603551D130101FF0402300030100603551D250409300706056781050801304A06082B06010505070101043E303C303A06082B06010505073002862E687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F73746D74706D656B696E7430352E637274", "version": "2", "serialNumber": "6A0597BA71D7E6D3AC0EDC9EDC95A15B998DE40A", "signature": { "_type": "AlgorithmIdentifier", "algorithm": "1.2.840.113549.1.1.11", "parameters": "0500" }, "issuer": { "_choice": "rdnSequence", "value": [ [ { "_type": "AttributeTypeAndValue", "type": "2.5.4.6", "value": { "_choice": "printableString", "value": "CH" } } ], [ { "_type": "AttributeTypeAndValue", "type": "2.5.4.10", "value": { "_choice": "printableString", "value": "STMicroelectronics NV" } } ], [ { "_type": "AttributeTypeAndValue", "type": "2.5.4.3", "value": { "_choice": "printableString", "value": "STM TPM EK Intermediate CA 05" } } ] ] }, "validity": { "_type": "Validity", "notBefore": { "_choice": "utcTime", "value": "2018-12-14T00:00:00Z" }, "notAfter": { "_choice": "utcTime", "value": "2028-12-14T00:00:00Z" } }, "subject": { "_choice": "rdnSequence", "value": [] }, "subjectPublicKeyInfo": { "_type": "SubjectPublicKeyInfo", "algorithm": { "_type": "AlgorithmIdentifier", "algorithm": "1.2.840.113549.1.1.1", "parameters": "0500" }, "subjectPublicKey": "2160:3082010A0282010100CC14EB27A78CEB0EA486FA2DF7835F5FA8E905B097012B5BDE50380C355B1A2A721BBC3D08DD21796CDB239FA95310651B1B56FD2CFE53C87352EBD996E33256160404CE9302A08066801E786A2F86E181F949966F492A85B58EAA4A6A8CB3697551BB236E87CC7BF8EC1347871C91E15437E8F266BF1EA5EB271FDCF374D8B47DF8BCE89E1FAD61C2A088CB4036B359CB72A294973FEDCCF0C340AFFD14B64F041165581ACA34147C1C75617047058F7ED7D603E032508094FA73E8B9153DA3BF255D2CBBC5DF301BA8F74D198BEBCE86040FC1D2927C7657414490D802F482F3EBF2DE35EE149A1A6DE8D16891FBFBA02A18AFE59F9D6F149744E5F0D559B10203010001" }, "issuerUniqueID": null, "subjectUniqueID": null, "extensions": [ { "_type": "Extension", "extnID": "2.5.29.35", "critical": false, "extnValue": "301680141ADB994AB58BE57A0CC9B900E7851E1A43C08660", "_extnValue": { "_type": "AuthorityKeyIdentifier", "keyIdentifier": "1ADB994AB58BE57A0CC9B900E7851E1A43C08660", "authorityCertIssuer": null, "authorityCertSerialNumber": null } }, { "_type": "Extension", "extnID": "2.5.29.32", "critical": false, "extnValue": "303930370604551D2000302F302D06082B060105050702011621687474703A2F2F7777772E73742E636F6D2F54504D2F7265706F7369746F72792F", "_extnValue": [ { "_type": "PolicyInformation", "policyIdentifier": "2.5.29.32.0", "policyQualifiers": [ { "_type": "PolicyQualifierInfo", "policyQualifierId": "1.3.6.1.5.5.7.2.1", "qualifier": "1621687474703A2F2F7777772E73742E636F6D2F54504D2F7265706F7369746F72792F" } ] } ] }, { "_type": "Extension", "extnID": "2.5.29.17", "critical": true, "extnValue": "304DA44B304931163014060567810502010C0B69643A353335343444323031173015060567810502020C0C53543333485450484148433031163014060567810502030C0B69643A3030343930303038", "_extnValue": [ { "_choice": "directoryName", "value": { "_choice": "rdnSequence", "value": [ [ { "_type": "AttributeTypeAndValue", "type": "2.23.133.2.1", "value": { "_choice": "utf8String", "value": "id:53544D20" } } ], [ { "_type": "AttributeTypeAndValue", "type": "2.23.133.2.2", "value": { "_choice": "utf8String", "value": "ST33HTPHAHC0" } } ], [ { "_type": "AttributeTypeAndValue", "type": "2.23.133.2.3", "value": { "_choice": "utf8String", "value": "id:00490008" } } ] ] } } ] }, { "_type": "Extension", "extnID": "2.5.29.9", "critical": false, "extnValue": "305E301706056781050210310E300C0C03322E300201000202008A304306056781050212313A30380201000101FFA0030A0101A1030A0100A2030A0100A310300E1603332E310A01040A01020101FFA40F300D16053134302D320A0102010100", "_extnValue": [ { "_type": "AttributeSet", "type": "2.23.133.2.16", "values": [ "300C0C03322E300201000202008A" ], "_values": [ { "_type": "TPMSpecification", "family": "2.0", "level": "0", "revision": "138" } ] }, { "_type": "AttributeSet", "type": "2.23.133.2.18", "values": [ "30380201000101FFA0030A0101A1030A0100A2030A0100A310300E1603332E310A01040A01020101FFA40F300D16053134302D320A0102010100" ], "_values": [ { "_type": "TPMSecurityAssertions", "version": "0", "fieldUpgradable": true, "ekGenerationType": "655617", "ekGenerationLocation": "655616", "ekCertificateGenerationLocation": "655616", "ccInfo": { "_type": "CommonCriteriaMeasures", "version": "3.1", "assurancelevel": "4", "evaluationStatus": "2", "plus": true, "strengthOfFunction": null, "profileOid": null, "profileUri": null, "targetOid": null, "targetUri": null }, "fipsLevel": { "_type": "FIPSLevel", "version": "140-2", "level": "2", "plus": false }, "iso9000Certified": false, "iso9000Uri": null } ] } ] }, { "_type": "Extension", "extnID": "2.5.29.15", "critical": true, "extnValue": "03020520", "_extnValue": [ "keyEncipherment" ] }, { "_type": "Extension", "extnID": "2.5.29.19", "critical": true, "extnValue": "3000", "_extnValue": { "_type": "BasicConstraints", "cA": false, "pathLenConstraint": null } }, { "_type": "Extension", "extnID": "2.5.29.37", "critical": false, "extnValue": "300706056781050801", "_extnValue": [ "2.23.133.8.1" ] }, { "_type": "Extension", "extnID": "1.3.6.1.5.5.7.1.1", "critical": false, "extnValue": "303C303A06082B06010505073002862E687474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F73746D74706D656B696E7430352E637274", "_extnValue": [ { "_type": "AccessDescription", "accessMethod": "1.3.6.1.5.5.7.48.2", "accessLocation": { "_choice": "uniformResourceIdentifier", "value": "http://secure.globalsign.com/stmtpmekint05.crt" } } ] } ] }, "signatureAlgorithm": { "_type": "AlgorithmIdentifier", "algorithm": "1.2.840.113549.1.1.11", "parameters": "0500" }, "signatureValue": "2048:3D4C381E5B4F1BCBE09C63D52F1F04570CAEA142FD9CD942043B11F8E3BDCF50007AE16CF8869013041E92CDD3280BA4B51FBBD40582ED750219E261A695095674855AACEB520ADAFF9E7E908480A39CDCF900462D9171960FFE55D3AC49E8C981341BBD2EFBCC252A4C18A4F3B7C84CCE42CE70A208C84D2630A7ABFBE72D6271E75B9FF1C971D20EB3DBD763F1E04D834EAA692D2E4001BBF4730A3E3FDA9711AE386524D91C63BE0E516D00D5C6141FCCF6C539F3518E180049865BE16B69CAE1F8CB7FDC474B38F7EE56CBE7D8A89D9BA99B65D5265AEF32AA62426B10E6D75BB8677EC44F755BBC2806FD2B4E04BDF5D44259DBEAA42B6F563DF7AA7506" }
This commit is contained in:
@@ -2182,9 +2182,184 @@ test_ios(void)
|
||||
0xea, 0xa4, 0x2b, 0x6f, 0x56, 0x3d, 0xf7, 0xaa,
|
||||
0x75, 0x06,
|
||||
};
|
||||
char cert_json[] = {
|
||||
"{\"_type\":\"Certificate\",\"tbsCertificate\":{\"_type\":\"TBSCe"
|
||||
"rtificate\",\"_save\":\"30820376A00302010202146A0597BA71D7E6D3AC"
|
||||
"0EDC9EDC95A15B998DE40A300D06092A864886F70D01010B05003055310B3009"
|
||||
"060355040613024348311E301C060355040A131553544D6963726F656C656374"
|
||||
"726F6E696373204E56312630240603550403131D53544D2054504D20454B2049"
|
||||
"6E7465726D656469617465204341203035301E170D3138313231343030303030"
|
||||
"305A170D3238313231343030303030305A300030820122300D06092A864886F7"
|
||||
"0D01010105000382010F003082010A0282010100CC14EB27A78CEB0EA486FA2D"
|
||||
"F7835F5FA8E905B097012B5BDE50380C355B1A2A721BBC3D08DD21796CDB239F"
|
||||
"A95310651B1B56FD2CFE53C87352EBD996E33256160404CE9302A08066801E78"
|
||||
"6A2F86E181F949966F492A85B58EAA4A6A8CB3697551BB236E87CC7BF8EC1347"
|
||||
"871C91E15437E8F266BF1EA5EB271FDCF374D8B47DF8BCE89E1FAD61C2A088CB"
|
||||
"4036B359CB72A294973FEDCCF0C340AFFD14B64F041165581ACA34147C1C7561"
|
||||
"7047058F7ED7D603E032508094FA73E8B9153DA3BF255D2CBBC5DF301BA8F74D"
|
||||
"198BEBCE86040FC1D2927C7657414490D802F482F3EBF2DE35EE149A1A6DE8D1"
|
||||
"6891FBFBA02A18AFE59F9D6F149744E5F0D559B10203010001A38201A9308201"
|
||||
"A5301F0603551D230418301680141ADB994AB58BE57A0CC9B900E7851E1A43C0"
|
||||
"866030420603551D20043B303930370604551D2000302F302D06082B06010505"
|
||||
"0702011621687474703A2F2F7777772E73742E636F6D2F54504D2F7265706F73"
|
||||
"69746F72792F30590603551D110101FF044F304DA44B30493116301406056781"
|
||||
"0502010C0B69643A353335343444323031173015060567810502020C0C535433"
|
||||
"33485450484148433031163014060567810502030C0B69643A30303439303030"
|
||||
"3830670603551D090460305E301706056781050210310E300C0C03322E300201"
|
||||
"000202008A304306056781050212313A30380201000101FFA0030A0101A1030A"
|
||||
"0100A2030A0100A310300E1603332E310A01040A01020101FFA40F300D160531"
|
||||
"34302D320A0102010100300E0603551D0F0101FF040403020520300C0603551D"
|
||||
"130101FF0402300030100603551D250409300706056781050801304A06082B06"
|
||||
"010505070101043E303C303A06082B06010505073002862E687474703A2F2F73"
|
||||
"65637572652E676C6F62616C7369676E2E636F6D2F73746D74706D656B696E74"
|
||||
"30352E637274\",\"version\":\"2\",\"serialNumber\":\"6A0597BA71D7"
|
||||
"E6D3AC0EDC9EDC95A15B998DE40A\",\"signature\":{\"_type\":\"Algori"
|
||||
"thmIdentifier\",\"algorithm\":{\"_type\":\"OBJECT IDENTIFIER\",\""
|
||||
"oid\":\"1.2.840.113549.1.1.11\",\"components\":[1,2,840,113549,"
|
||||
"1,1,11],\"name\":\"id-pkcs1-sha256WithRSAEncryption\"},\"paramet"
|
||||
"ers\":\"0500\"},\"issuer\":{\"_choice\":\"rdnSequence\",\"value\""
|
||||
":[[{\"_type\":\"AttributeTypeAndValue\",\"type\":{\"_type\":\"O"
|
||||
"BJECT IDENTIFIER\",\"oid\":\"2.5.4.6\",\"components\":[2,5,4,6],"
|
||||
"\"name\":\"id-at-countryName\"},\"value\":{\"_choice\":\"printab"
|
||||
"leString\",\"value\":\"CH\"}}],[{\"_type\":\"AttributeTypeAndVal"
|
||||
"ue\",\"type\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.4.1"
|
||||
"0\",\"components\":[2,5,4,10],\"name\":\"id-at-organizationName\""
|
||||
"},\"value\":{\"_choice\":\"printableString\",\"value\":\"STMicr"
|
||||
"oelectronics NV\"}}],[{\"_type\":\"AttributeTypeAndValue\",\"typ"
|
||||
"e\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.4.3\",\"compo"
|
||||
"nents\":[2,5,4,3],\"name\":\"id-at-commonName\"},\"value\":{\"_c"
|
||||
"hoice\":\"printableString\",\"value\":\"STM TPM EK Intermediate "
|
||||
"CA 05\"}}]]},\"validity\":{\"_type\":\"Validity\",\"notBefore\":"
|
||||
"{\"_choice\":\"utcTime\",\"value\":\"2018-12-14T00:00:00Z\"},\"n"
|
||||
"otAfter\":{\"_choice\":\"utcTime\",\"value\":\"2028-12-14T00:00:"
|
||||
"00Z\"}},\"subject\":{\"_choice\":\"rdnSequence\",\"value\":[]},\""
|
||||
"subjectPublicKeyInfo\":{\"_type\":\"SubjectPublicKeyInfo\",\"al"
|
||||
"gorithm\":{\"_type\":\"AlgorithmIdentifier\",\"algorithm\":{\"_t"
|
||||
"ype\":\"OBJECT IDENTIFIER\",\"oid\":\"1.2.840.113549.1.1.1\",\"c"
|
||||
"omponents\":[1,2,840,113549,1,1,1],\"name\":\"id-pkcs1-rsaEncryp"
|
||||
"tion\"},\"parameters\":\"0500\"},\"subjectPublicKey\":\"2160:308"
|
||||
"2010A0282010100CC14EB27A78CEB0EA486FA2DF7835F5FA8E905B097012B5BD"
|
||||
"E50380C355B1A2A721BBC3D08DD21796CDB239FA95310651B1B56FD2CFE53C87"
|
||||
"352EBD996E33256160404CE9302A08066801E786A2F86E181F949966F492A85B"
|
||||
"58EAA4A6A8CB3697551BB236E87CC7BF8EC1347871C91E15437E8F266BF1EA5E"
|
||||
"B271FDCF374D8B47DF8BCE89E1FAD61C2A088CB4036B359CB72A294973FEDCCF"
|
||||
"0C340AFFD14B64F041165581ACA34147C1C75617047058F7ED7D603E03250809"
|
||||
"4FA73E8B9153DA3BF255D2CBBC5DF301BA8F74D198BEBCE86040FC1D2927C765"
|
||||
"7414490D802F482F3EBF2DE35EE149A1A6DE8D16891FBFBA02A18AFE59F9D6F1"
|
||||
"49744E5F0D559B10203010001\"},\"issuerUniqueID\":null,\"subjectUn"
|
||||
"iqueID\":null,\"extensions\":[{\"_type\":\"Extension\",\"extnID\""
|
||||
":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.29.35\",\"compo"
|
||||
"nents\":[2,5,29,35],\"name\":\"id-x509-ce-authorityKeyIdentifier"
|
||||
"\"},\"critical\":false,\"extnValue\":\"301680141ADB994AB58BE57A0"
|
||||
"CC9B900E7851E1A43C08660\",\"_extnValue_choice\":\"ext-AuthorityK"
|
||||
"eyIdentifier\",\"_extnValue\":{\"_type\":\"AuthorityKeyIdentifi"
|
||||
"er\",\"keyIdentifier\":\"1ADB994AB58BE57A0CC9B900E7851E1A43C0866"
|
||||
"0\",\"authorityCertIssuer\":null,\"authorityCertSerialNumber\":n"
|
||||
"ull}},{\"_type\":\"Extension\",\"extnID\":{\"_type\":\"OBJECT ID"
|
||||
"ENTIFIER\",\"oid\":\"2.5.29.32\",\"components\":[2,5,29,32],\"na"
|
||||
"me\":\"id-x509-ce-certificatePolicies\"},\"critical\":false,\"ex"
|
||||
"tnValue\":\"303930370604551D2000302F302D06082B060105050702011621"
|
||||
"687474703A2F2F7777772E73742E636F6D2F54504D2F7265706F7369746F7279"
|
||||
"2F\",\"_extnValue_choice\":\"ext-CertificatePolicies\",\"_extnV"
|
||||
"alue\":[{\"_type\":\"PolicyInformation\",\"policyIdentifier\":{\""
|
||||
"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.29.32.0\",\"compone"
|
||||
"nts\":[2,5,29,32,0],\"name\":\"id-x509-ce-certificatePolicies-an"
|
||||
"yPolicy\"},\"policyQualifiers\":[{\"_type\":\"PolicyQualifierInf"
|
||||
"o\",\"policyQualifierId\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid"
|
||||
"\":\"1.3.6.1.5.5.7.2.1\",\"components\":[1,3,6,1,5,5,7,2,1],\"na"
|
||||
"me\":\"id-pkix-qt-cps\"},\"qualifier\":\"1621687474703A2F2F77777"
|
||||
"72E73742E636F6D2F54504D2F7265706F7369746F72792F\"}]}]},{\"_type\""
|
||||
":\"Extension\",\"extnID\":{\"_type\":\"OBJECT IDENTIFIER\",\"oi"
|
||||
"d\":\"2.5.29.17\",\"components\":[2,5,29,17],\"name\":\"id-x509-"
|
||||
"ce-subjectAltName\"},\"critical\":true,\"extnValue\":\"304DA44B3"
|
||||
"04931163014060567810502010C0B69643A35333534344432303117301506056"
|
||||
"7810502020C0C53543333485450484148433031163014060567810502030C0B6"
|
||||
"9643A3030343930303038\",\"_extnValue_choice\":\"ext-SubjectAltNa"
|
||||
"me\",\"_extnValue\":[{\"_choice\":\"directoryName\",\"value\":{"
|
||||
"\"_choice\":\"rdnSequence\",\"value\":[[{\"_type\":\"AttributeTy"
|
||||
"peAndValue\",\"type\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\""
|
||||
"2.23.133.2.1\",\"components\":[2,23,133,2,1],\"name\":\"tcg-at-"
|
||||
"tpmManufacturer\"},\"value\":{\"_choice\":\"utf8String\",\"value"
|
||||
"\":\"id:53544D20\"}}],[{\"_type\":\"AttributeTypeAndValue\",\"ty"
|
||||
"pe\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.23.133.2.2\",\""
|
||||
"components\":[2,23,133,2,2],\"name\":\"tcg-at-tpmModel\"},\"val"
|
||||
"ue\":{\"_choice\":\"utf8String\",\"value\":\"ST33HTPHAHC0\"}}],["
|
||||
"{\"_type\":\"AttributeTypeAndValue\",\"type\":{\"_type\":\"OBJEC"
|
||||
"T IDENTIFIER\",\"oid\":\"2.23.133.2.3\",\"components\":[2,23,133"
|
||||
",2,3],\"name\":\"tcg-at-tpmVersion\"},\"value\":{\"_choice\":\"u"
|
||||
"tf8String\",\"value\":\"id:00490008\"}}]]}}]},{\"_type\":\"Exten"
|
||||
"sion\",\"extnID\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5"
|
||||
".29.9\",\"components\":[2,5,29,9],\"name\":\"id-x509-ce-subjectD"
|
||||
"irectoryAttributes\"},\"critical\":false,\"extnValue\":\"305E301"
|
||||
"706056781050210310E300C0C03322E300201000202008A30430605678105021"
|
||||
"2313A30380201000101FFA0030A0101A1030A0100A2030A0100A310300E16033"
|
||||
"32E310A01040A01020101FFA40F300D16053134302D320A0102010100\",\"_e"
|
||||
"xtnValue_choice\":\"ext-SubjectDirectoryAttributes\",\"_extnVal"
|
||||
"ue\":[{\"_type\":\"AttributeSet\",\"type\":{\"_type\":\"OBJECT I"
|
||||
"DENTIFIER\",\"oid\":\"2.23.133.2.16\",\"components\":[2,23,133,2"
|
||||
",16],\"name\":\"tcg-at-tpmSpecification\"},\"values\":[\"300C0C0"
|
||||
"3322E300201000202008A\"],\"_values_choice\":\"at-TPMSpecificatio"
|
||||
"n\",\"_values\":[{\"_type\":\"TPMSpecification\",\"family\":\"2"
|
||||
".0\",\"level\":0,\"revision\":138}]},{\"_type\":\"AttributeSet\""
|
||||
",\"type\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.23.133.2."
|
||||
"18\",\"components\":[2,23,133,2,18],\"name\":\"tcg-at-tpmSecurit"
|
||||
"yAssertions\"},\"values\":[\"30380201000101FFA0030A0101A1030A010"
|
||||
"0A2030A0100A310300E1603332E310A01040A01020101FFA40F300D160531343"
|
||||
"02D320A0102010100\"],\"_values_choice\":\"at-TPMSecurityAssertio"
|
||||
"ns\",\"_values\":[{\"_type\":\"TPMSecurityAssertions\",\"versio"
|
||||
"n\":\"0\",\"fieldUpgradable\":true,\"ekGenerationType\":\"655617"
|
||||
"\",\"ekGenerationLocation\":\"655616\",\"ekCertificateGeneration"
|
||||
"Location\":\"655616\",\"ccInfo\":{\"_type\":\"CommonCriteriaMeas"
|
||||
"ures\",\"version\":\"3.1\",\"assurancelevel\":\"4\",\"evaluation"
|
||||
"Status\":\"2\",\"plus\":true,\"strengthOfFunction\":null,\"profi"
|
||||
"leOid\":null,\"profileUri\":null,\"targetOid\":null,\"targetUri\""
|
||||
":null},\"fipsLevel\":{\"_type\":\"FIPSLevel\",\"version\":\"140"
|
||||
"-2\",\"level\":\"2\",\"plus\":false},\"iso9000Certified\":false,"
|
||||
"\"iso9000Uri\":null}]}]},{\"_type\":\"Extension\",\"extnID\":{\""
|
||||
"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.29.15\",\"components"
|
||||
"\":[2,5,29,15],\"name\":\"id-x509-ce-keyUsage\"},\"critical\":tr"
|
||||
"ue,\"extnValue\":\"03020520\",\"_extnValue_choice\":\"ext-KeyUsa"
|
||||
"ge\",\"_extnValue\":[\"keyEncipherment\"]},{\"_type\":\"Extensi"
|
||||
"on\",\"extnID\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.5.2"
|
||||
"9.19\",\"components\":[2,5,29,19],\"name\":\"id-x509-ce-basicCon"
|
||||
"straints\"},\"critical\":true,\"extnValue\":\"3000\",\"_extnValu"
|
||||
"e_choice\":\"ext-BasicConstraints\",\"_extnValue\":{\"_type\":\""
|
||||
"BasicConstraints\",\"cA\":false,\"pathLenConstraint\":null}},{\""
|
||||
"_type\":\"Extension\",\"extnID\":{\"_type\":\"OBJECT IDENTIFIER"
|
||||
"\",\"oid\":\"2.5.29.37\",\"components\":[2,5,29,37],\"name\":\"i"
|
||||
"d-x509-ce-extKeyUsage\"},\"critical\":false,\"extnValue\":\"3007"
|
||||
"06056781050801\",\"_extnValue_choice\":\"ext-ExtKeyUsage\",\"_e"
|
||||
"xtnValue\":[{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"2.23.133."
|
||||
"8.1\",\"components\":[2,23,133,8,1],\"name\":\"tcg-kp-EKCertific"
|
||||
"ate\"}]},{\"_type\":\"Extension\",\"extnID\":{\"_type\":\"OBJECT"
|
||||
" IDENTIFIER\",\"oid\":\"1.3.6.1.5.5.7.1.1\",\"components\":[1,3,"
|
||||
"6,1,5,5,7,1,1],\"name\":\"id-pkix-pe-authorityInfoAccess\"},\"cr"
|
||||
"itical\":false,\"extnValue\":\"303C303A06082B06010505073002862E6"
|
||||
"87474703A2F2F7365637572652E676C6F62616C7369676E2E636F6D2F73746D7"
|
||||
"4706D656B696E7430352E637274\",\"_extnValue_choice\":\"ext-Author"
|
||||
"ityInfoAccess\",\"_extnValue\":[{\"_type\":\"AccessDescription\""
|
||||
",\"accessMethod\":{\"_type\":\"OBJECT IDENTIFIER\",\"oid\":\"1."
|
||||
"3.6.1.5.5.7.48.2\",\"components\":[1,3,6,1,5,5,7,48,2],\"name\":"
|
||||
"\"id-pkix-ad-caIssuers\"},\"accessLocation\":{\"_choice\":\"unif"
|
||||
"ormResourceIdentifier\",\"value\":\"http://secure.globalsign.com"
|
||||
"/stmtpmekint05.crt\"}}]}]},\"signatureAlgorithm\":{\"_type\":\"A"
|
||||
"lgorithmIdentifier\",\"algorithm\":{\"_type\":\"OBJECT IDENTIFIE"
|
||||
"R\",\"oid\":\"1.2.840.113549.1.1.11\",\"components\":[1,2,840,11"
|
||||
"3549,1,1,11],\"name\":\"id-pkcs1-sha256WithRSAEncryption\"},\"pa"
|
||||
"rameters\":\"0500\"},\"signatureValue\":\"2048:3D4C381E5B4F1BCBE"
|
||||
"09C63D52F1F04570CAEA142FD9CD942043B11F8E3BDCF50007AE16CF88690130"
|
||||
"41E92CDD3280BA4B51FBBD40582ED750219E261A695095674855AACEB520ADAF"
|
||||
"F9E7E908480A39CDCF900462D9171960FFE55D3AC49E8C981341BBD2EFBCC252"
|
||||
"A4C18A4F3B7C84CCE42CE70A208C84D2630A7ABFBE72D6271E75B9FF1C971D20"
|
||||
"EB3DBD763F1E04D834EAA692D2E4001BBF4730A3E3FDA9711AE386524D91C63B"
|
||||
"E0E516D00D5C6141FCCF6C539F3518E180049865BE16B69CAE1F8CB7FDC474B3"
|
||||
"8F7EE56CBE7D8A89D9BA99B65D5265AEF32AA62426B10E6D75BB8677EC44F755"
|
||||
"BBC2806FD2B4E04BDF5D44259DBEAA42B6F563DF7AA7506\"}"
|
||||
};
|
||||
heim_octet_string os;
|
||||
Certificate c0, c1;
|
||||
size_t i, nknown, size;
|
||||
char *s;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
@@ -2200,6 +2375,13 @@ test_ios(void)
|
||||
if (size != sizeof(encoded_sample))
|
||||
return 1;
|
||||
|
||||
s = print_Certificate(&c0, 0);
|
||||
if (!s)
|
||||
return 1;
|
||||
if (strcmp(s, cert_json))
|
||||
return 1;
|
||||
free(s);
|
||||
|
||||
ret = copy_Certificate(&c0, &c1);
|
||||
if (ret)
|
||||
return 1;
|
||||
@@ -2225,6 +2407,7 @@ test_ios(void)
|
||||
if (!nknown)
|
||||
return 1;
|
||||
|
||||
|
||||
/*
|
||||
* Check that this round trips. But note that this attempt to encode will
|
||||
* ignore the automatically decoded open type values from above because
|
||||
@@ -2272,7 +2455,6 @@ test_ios(void)
|
||||
return 1;
|
||||
der_free_octet_string(&os);
|
||||
|
||||
/* XXX Test setting some of the _ioschoice_extnValue._element's to 0 */
|
||||
free_Certificate(&c0);
|
||||
free_Certificate(&c1);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user