[ Index ] |
PHP Cross Reference of Joomla 4.2.2 documentation |
[Summary view] [Print] [Text view]
1 <?php 2 /* 3 * This file is part of the PHPASN1 library. 4 * 5 * Copyright © Friedrich Große <[email protected]> 6 * 7 * For the full copyright and license information, please view the LICENSE 8 * file that was distributed with this source code. 9 */ 10 11 namespace FG\ASN1; 12 13 class OID 14 { 15 const RSA_ENCRYPTION = '1.2.840.113549.1.1.1'; 16 const MD5_WITH_RSA_ENCRYPTION = '1.2.840.113549.1.1.4'; 17 const SHA1_WITH_RSA_SIGNATURE = '1.2.840.113549.1.1.5'; 18 const SHA256_WITH_RSA_SIGNATURE = '1.2.840.113549.1.1.11'; 19 const PKCS9_EMAIL = '1.2.840.113549.1.9.1'; 20 const PKCS9_UNSTRUCTURED_NAME = '1.2.840.113549.1.9.2'; 21 const PKCS9_CONTENT_TYPE = '1.2.840.113549.1.9.3'; 22 const PKCS9_MESSAGE_DIGEST = '1.2.840.113549.1.9.4'; 23 const PKCS9_SIGNING_TIME = '1.2.840.113549.1.9.5'; 24 const PKCS9_EXTENSION_REQUEST = '1.2.840.113549.1.9.14'; 25 26 // certificate extension identifier 27 const CERT_EXT_SUBJECT_DIRECTORY_ATTR = '2.5.29.9'; 28 const CERT_EXT_SUBJECT_KEY_IDENTIFIER = '2.5.29.14'; 29 const CERT_EXT_KEY_USAGE = '2.5.29.15'; 30 const CERT_EXT_PRIVATE_KEY_USAGE_PERIOD = '2.5.29.16'; 31 const CERT_EXT_SUBJECT_ALT_NAME = '2.5.29.17'; 32 const CERT_EXT_ISSUER_ALT_NAME = '2.5.29.18'; 33 const CERT_EXT_BASIC_CONSTRAINTS = '2.5.29.19'; 34 const CERT_EXT_CRL_NUMBER = '2.5.29.20'; 35 const CERT_EXT_REASON_CODE = '2.5.29.21'; 36 const CERT_EXT_INVALIDITY_DATE = '2.5.29.24'; 37 const CERT_EXT_DELTA_CRL_INDICATOR = '2.5.29.27'; 38 const CERT_EXT_ISSUING_DIST_POINT = '2.5.29.28'; 39 const CERT_EXT_CERT_ISSUER = '2.5.29.29'; 40 const CERT_EXT_NAME_CONSTRAINTS = '2.5.29.30'; 41 const CERT_EXT_CRL_DISTRIBUTION_POINTS = '2.5.29.31'; 42 const CERT_EXT_CERT_POLICIES = '2.5.29.32'; 43 const CERT_EXT_AUTHORITY_KEY_IDENTIFIER = '2.5.29.35'; 44 const CERT_EXT_EXTENDED_KEY_USAGE = '2.5.29.37'; 45 46 // standard certificate files 47 const COMMON_NAME = '2.5.4.3'; 48 const SURNAME = '2.5.4.4'; 49 const SERIAL_NUMBER = '2.5.4.5'; 50 const COUNTRY_NAME = '2.5.4.6'; 51 const LOCALITY_NAME = '2.5.4.7'; 52 const STATE_OR_PROVINCE_NAME = '2.5.4.8'; 53 const STREET_ADDRESS = '2.5.4.9'; 54 const ORGANIZATION_NAME = '2.5.4.10'; 55 const OU_NAME = '2.5.4.11'; 56 const TITLE = '2.5.4.12'; 57 const DESCRIPTION = '2.5.4.13'; 58 const POSTAL_ADDRESS = '2.5.4.16'; 59 const POSTAL_CODE = '2.5.4.17'; 60 const AUTHORITY_REVOCATION_LIST = '2.5.4.38'; 61 62 const AUTHORITY_INFORMATION_ACCESS = '1.3.6.1.5.5.7.1.1'; 63 64 /** 65 * Returns the name of the given object identifier. 66 * 67 * Some OIDs are saved as class constants in this class. 68 * If the wanted oidString is not among them, this method will 69 * query http://oid-info.com for the right name. 70 * This behavior can be suppressed by setting the second method parameter to false. 71 * 72 * @param string $oidString 73 * @param bool $loadFromWeb 74 * 75 * @see self::loadFromWeb($oidString) 76 * 77 * @return string 78 */ 79 public static function getName($oidString, $loadFromWeb = true) 80 { 81 switch ($oidString) { 82 case self::RSA_ENCRYPTION: 83 return 'RSA Encryption'; 84 case self::MD5_WITH_RSA_ENCRYPTION: 85 return 'MD5 with RSA Encryption'; 86 case self::SHA1_WITH_RSA_SIGNATURE: 87 return 'SHA-1 with RSA Signature'; 88 89 case self::PKCS9_EMAIL: 90 return 'PKCS #9 Email Address'; 91 case self::PKCS9_UNSTRUCTURED_NAME: 92 return 'PKCS #9 Unstructured Name'; 93 case self::PKCS9_CONTENT_TYPE: 94 return 'PKCS #9 Content Type'; 95 case self::PKCS9_MESSAGE_DIGEST: 96 return 'PKCS #9 Message Digest'; 97 case self::PKCS9_SIGNING_TIME: 98 return 'PKCS #9 Signing Time'; 99 100 case self::COMMON_NAME: 101 return 'Common Name'; 102 case self::SURNAME: 103 return 'Surname'; 104 case self::SERIAL_NUMBER: 105 return 'Serial Number'; 106 case self::COUNTRY_NAME: 107 return 'Country Name'; 108 case self::LOCALITY_NAME: 109 return 'Locality Name'; 110 case self::STATE_OR_PROVINCE_NAME: 111 return 'State or Province Name'; 112 case self::STREET_ADDRESS: 113 return 'Street Address'; 114 case self::ORGANIZATION_NAME: 115 return 'Organization Name'; 116 case self::OU_NAME: 117 return 'Organization Unit Name'; 118 case self::TITLE: 119 return 'Title'; 120 case self::DESCRIPTION: 121 return 'Description'; 122 case self::POSTAL_ADDRESS: 123 return 'Postal Address'; 124 case self::POSTAL_CODE: 125 return 'Postal Code'; 126 case self::AUTHORITY_REVOCATION_LIST: 127 return 'Authority Revocation List'; 128 129 case self::CERT_EXT_SUBJECT_DIRECTORY_ATTR: 130 return 'Subject directory attributes'; 131 case self::CERT_EXT_SUBJECT_KEY_IDENTIFIER: 132 return 'Subject key identifier'; 133 case self::CERT_EXT_KEY_USAGE: 134 return 'Key usage certificate extension'; 135 case self::CERT_EXT_PRIVATE_KEY_USAGE_PERIOD: 136 return 'Private key usage'; 137 case self::CERT_EXT_SUBJECT_ALT_NAME: 138 return 'Subject alternative name (SAN)'; 139 case self::CERT_EXT_ISSUER_ALT_NAME: 140 return 'Issuer alternative name'; 141 case self::CERT_EXT_BASIC_CONSTRAINTS: 142 return 'Basic constraints'; 143 case self::CERT_EXT_CRL_NUMBER: 144 return 'CRL number'; 145 case self::CERT_EXT_REASON_CODE: 146 return 'Reason code'; 147 case self::CERT_EXT_INVALIDITY_DATE: 148 return 'Invalidity code'; 149 case self::CERT_EXT_DELTA_CRL_INDICATOR: 150 return 'Delta CRL indicator'; 151 case self::CERT_EXT_ISSUING_DIST_POINT: 152 return 'Issuing distribution point'; 153 case self::CERT_EXT_CERT_ISSUER: 154 return 'Certificate issuer'; 155 case self::CERT_EXT_NAME_CONSTRAINTS: 156 return 'Name constraints'; 157 case self::CERT_EXT_CRL_DISTRIBUTION_POINTS: 158 return 'CRL distribution points'; 159 case self::CERT_EXT_CERT_POLICIES: 160 return 'Certificate policies '; 161 case self::CERT_EXT_AUTHORITY_KEY_IDENTIFIER: 162 return 'Authority key identifier'; 163 case self::CERT_EXT_EXTENDED_KEY_USAGE: 164 return 'Extended key usage'; 165 case self::AUTHORITY_INFORMATION_ACCESS: 166 return 'Certificate Authority Information Access (AIA)'; 167 168 default: 169 if ($loadFromWeb) { 170 return self::loadFromWeb($oidString); 171 } else { 172 return $oidString; 173 } 174 } 175 } 176 177 public static function loadFromWeb($oidString) 178 { 179 $ch = curl_init("http://oid-info.com/get/{$oidString}"); 180 181 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 182 curl_setopt($ch, CURLOPT_HEADER, 0); 183 184 $contents = curl_exec($ch); 185 curl_close($ch); 186 187 // This pattern needs to be updated as soon as the website layout of oid-info.com changes 188 preg_match_all('#<tt>(.+)\(\d+\)</tt>#si', $contents, $oidName); 189 190 if (empty($oidName[1])) { 191 return "{$oidString} (unknown)"; 192 } 193 194 $oidName = ucfirst(strtolower(preg_replace('/([A-Z][a-z])/', ' $1', $oidName[1][0]))); 195 $oidName = str_replace('-', ' ', $oidName); 196 197 return "{$oidName} ({$oidString})"; 198 } 199 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Wed Sep 7 05:41:13 2022 | Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer |