| /// |
| /// Class holding a list of object identifiers |
| /// |
| class ObjectIdentifiers { |
| /// |
| /// A list of object identifiers, holding the identifier and a readable name. |
| /// |
| static const oi = [ |
| { |
| 'identifierString': '2.5.4.3', |
| 'readableName': 'commonName', |
| 'identifier': [2, 5, 4, 3] |
| }, |
| { |
| 'identifierString': '2.5.4.6', |
| 'readableName': 'countryName', |
| 'identifier': [2, 5, 4, 6] |
| }, |
| { |
| 'identifierString': '2.5.4.10', |
| 'readableName': 'organizationName', |
| 'identifier': [2, 5, 4, 10] |
| }, |
| { |
| 'identifierString': '2.5.4.11', |
| 'readableName': 'organizationalUnitName', |
| 'identifier': [2, 5, 4, 11] |
| }, |
| { |
| 'identifierString': '1.3.6.1.4.1.311.60.2.1.3', |
| 'readableName': 'jurisdictionOfIncorporationC', |
| 'identifier': [1, 3, 6, 1, 4, 1, 311, 60, 2, 1, 3] |
| }, |
| { |
| 'identifierString': '1.3.6.1.4.1.311.60.2.1.2', |
| 'readableName': 'jurisdictionOfIncorporationSP', |
| 'identifier': [1, 3, 6, 1, 4, 1, 311, 60, 2, 1, 2] |
| }, |
| { |
| 'identifierString': '1.3.6.1.4.1.311.60.2.1.1', |
| 'readableName': 'jurisdictionOfIncorporationL', |
| 'identifier': [1, 3, 6, 1, 4, 1, 311, 60, 2, 1, 1] |
| }, |
| { |
| 'identifierString': '2.5.4.15', |
| 'readableName': 'businessCategory', |
| 'identifier': [2, 5, 4, 15] |
| }, |
| { |
| 'identifierString': '2.5.4.5', |
| 'readableName': 'serialNumber', |
| 'identifier': [2, 5, 4, 5] |
| }, |
| { |
| 'identifierString': '2.5.4.8', |
| 'readableName': 'stateOrProvinceName', |
| 'identifier': [2, 5, 4, 8] |
| }, |
| { |
| 'identifierString': '2.5.4.7', |
| 'readableName': 'localityName', |
| 'identifier': [2, 5, 4, 7] |
| }, |
| { |
| 'identifierString': '1.2.840.113549.1.1.1', |
| 'readableName': 'rsaEncryption', |
| 'identifier': [1, 2, 840, 113549, 1, 1, 1] |
| }, |
| { |
| 'identifierString': '2.5.29.17', |
| 'readableName': 'subjectAltName', |
| 'identifier': [2, 5, 29, 17] |
| }, |
| { |
| 'identifierString': '2.5.29.32', |
| 'readableName': 'certificatePolicies', |
| 'identifier': [2, 5, 29, 32] |
| }, |
| { |
| 'identifierString': '2.16.840.1.113733.1.7.23.6', |
| 'readableName': 'VeriSign EV policy', |
| 'identifier': [2, 16, 840, 1, 113733, 1, 7, 23, 6] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.2.1', |
| 'readableName': 'cps', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 2, 1] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.2.2', |
| 'readableName': 'unotice', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 2, 2] |
| }, |
| { |
| 'identifierString': '2.5.29.31', |
| 'readableName': 'cRLDistributionPoints', |
| 'identifier': [2, 5, 29, 31] |
| }, |
| { |
| 'identifierString': '2.5.29.37', |
| 'readableName': 'extKeyUsage', |
| 'identifier': [2, 5, 29, 37] |
| }, |
| { |
| 'identifierString': '2.5.29.35', |
| 'readableName': 'authorityKeyIdentifier', |
| 'identifier': [2, 5, 29, 35] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.3.1', |
| 'readableName': 'serverAuth', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 3, 1] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.3.2', |
| 'readableName': 'clientAuth', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 3, 2] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.1.1', |
| 'readableName': 'authorityInfoAccess', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 1, 1] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.48.1', |
| 'readableName': 'ocsp', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 48, 1] |
| }, |
| { |
| 'identifierString': '1.3.6.1.5.5.7.48.2', |
| 'readableName': 'caIssuers', |
| 'identifier': [1, 3, 6, 1, 5, 5, 7, 48, 2] |
| }, |
| { |
| 'identifierString': '1.2.840.113549.1.1.11', |
| 'readableName': 'sha256WithRSAEncryption', |
| 'identifier': [1, 2, 840, 113549, 1, 1, 11] |
| }, |
| { |
| 'identifierString': '1.2.840.113549.1.1.4', |
| 'readableName': 'md5WithRSAEncryption', |
| 'identifier': [1, 2, 840, 113549, 1, 1, 4] |
| }, |
| { |
| 'identifierString': '1.3.6.1.4.1.11129.2.4.2', |
| 'readableName': '2', |
| 'identifier': [1, 3, 6, 1, 4, 1, 11129, 2, 4, 2] |
| }, |
| { |
| 'identifierString': '2.23.140.1.1', |
| 'readableName': 'ev-guidelines', |
| 'identifier': [2, 23, 140, 1, 1] |
| }, |
| { |
| 'identifierString': '1.2.840.113549.1.1.5', |
| 'readableName': 'sha1WithRSAEncryption', |
| 'identifier': [1, 2, 840, 113549, 1, 1, 5] |
| }, |
| { |
| 'identifierString': '1.2.840.10045.2.1', |
| 'readableName': 'ecPublicKey', |
| 'identifier': [1, 2, 840, 10045, 2, 1] |
| }, |
| { |
| 'identifierString': '1.2.840.10045.3.1.7', |
| 'readableName': 'prime256v1', |
| 'identifier': [1, 2, 840, 10045, 3, 1, 7] |
| }, |
| { |
| 'identifierString': '1.2.840.10045.4.3.2', |
| 'readableName': 'ecdsaWithSHA256', |
| 'identifier': [1, 2, 840, 10045, 4, 3, 2] |
| }, |
| { |
| 'identifierString': '2.5.4.3', |
| 'readableName': 'CN', |
| 'identifier': [2, 5, 4, 3] |
| }, |
| { |
| 'identifierString': '2.5.4.4', |
| 'readableName': 'SN', |
| 'identifier': [2, 5, 4, 4] |
| }, |
| { |
| 'identifierString': '2.5.4.5', |
| 'readableName': 'SERIALNUMBER', |
| 'identifier': [2, 5, 4, 5] |
| }, |
| { |
| 'identifierString': '2.5.4.6', |
| 'readableName': 'C', |
| 'identifier': [2, 5, 4, 6] |
| }, |
| { |
| 'identifierString': '2.5.4.7', |
| 'readableName': 'L', |
| 'identifier': [2, 5, 4, 7] |
| }, |
| { |
| 'identifierString': '2.5.4.8', |
| 'readableName': 'ST', |
| 'identifier': [2, 5, 4, 8] |
| }, |
| { |
| 'identifierString': '2.5.4.8', |
| 'readableName': 'S', |
| 'identifier': [2, 5, 4, 8] |
| }, |
| { |
| 'identifierString': '2.5.4.9', |
| 'readableName': 'streetAddress', |
| 'identifier': [2, 5, 4, 9] |
| }, |
| { |
| 'identifierString': '2.5.4.9', |
| 'readableName': 'STREET', |
| 'identifier': [2, 5, 4, 9] |
| }, |
| { |
| 'identifierString': '2.5.4.10', |
| 'readableName': 'O', |
| 'identifier': [2, 5, 4, 10] |
| }, |
| { |
| 'identifierString': '2.5.4.11', |
| 'readableName': 'OU', |
| 'identifier': [2, 5, 4, 11] |
| }, |
| { |
| 'identifierString': '2.5.4.12', |
| 'readableName': 'title', |
| 'identifier': [2, 5, 4, 12] |
| }, |
| { |
| 'identifierString': '2.5.4.12', |
| 'readableName': 'T', |
| 'identifier': [2, 5, 4, 12] |
| }, |
| { |
| 'identifierString': '2.5.4.12', |
| 'readableName': 'TITLE', |
| 'identifier': [2, 5, 4, 12] |
| }, |
| { |
| 'identifierString': '2.5.4.42', |
| 'readableName': 'givenName', |
| 'identifier': [2, 5, 4, 42] |
| }, |
| { |
| 'identifierString': '2.5.4.42', |
| 'readableName': 'G', |
| 'identifier': [2, 5, 4, 42] |
| }, |
| { |
| 'identifierString': '2.5.4.42', |
| 'readableName': 'GN', |
| 'identifier': [2, 5, 4, 42] |
| }, |
| { |
| 'identifierString': '1.3.132.0.34', |
| 'readableName': 'secp384r1', |
| 'identifier': [1, 3, 132, 0, 34], |
| }, |
| { |
| 'identifierString': '1.3.132.0.10', |
| 'readableName': 'secp256k1', |
| 'identifier': [1, 3, 132, 0, 10], |
| }, |
| { |
| 'identifierString': '2.5.29.15', |
| 'readableName': 'keyUsage', |
| 'identifier': [2, 5, 29, 15] |
| }, |
| { |
| 'identifierString': '2.5.29.19', |
| 'readableName': 'basicConstraints', |
| 'identifier': [2, 5, 29, 19] |
| }, |
| { |
| 'identifierString': '2.5.29.14', |
| 'readableName': 'subjectKeyIdentifier', |
| 'identifier': [2, 5, 29, 14] |
| }, |
| { |
| 'identifierString': '1.3.132.0.34', |
| 'readableName': 'secp384r1', |
| 'identifier': [1, 3, 132, 0, 34] |
| }, |
| ]; |
| |
| /// |
| /// Returns the object identifier corresponding to the given [readableName]. |
| /// |
| /// Returns null if none object identifier can be found for the given [readableName]. |
| /// |
| static Map<String, dynamic>? getIdentifierByName(String readableName) { |
| for (var element in oi) { |
| if (element['readableName'] == readableName) { |
| return element; |
| } |
| } |
| return null; |
| } |
| |
| /// |
| /// Returns the object identifier corresponding to the given [identifier]. |
| /// |
| /// Returns null if none object identifier can be found for the given [identifier]. |
| /// |
| static Map<String, dynamic>? getIdentifierByIdentifier(String? identifier) { |
| for (var element in oi) { |
| if (element['identifierString'] == identifier) { |
| return element; |
| } |
| } |
| return null; |
| } |
| } |