Table of OIDs for certificate's subject? - certificate

Is there any table where we can find all correspondences between OIDs and attributes they represent in the subject field of certificate. For example, I know that "1.3.6.1.4.1.311.20.2" means certificate's template name, "2.5.29.30" - name restrictions. Where can we find other oids especially for main attributes such as CN, C, S, L, O, OU...?

Found it here http://technet.microsoft.com/en-us/library/cc772812(WS.10).aspx

A very good reference is Peter Gutmann's dumpasn1 tool. It has an extensive configuration file which is a database for many PKI related OIDs.
Alternatively OpenSSL's database of OID isn't human readable in its original or processed. But using OpenSSL functions like OBJ_nid2obj or OBJ_obj2nid in combination with BJ_nid2ln and OBJ_nid2sn you can easily make lookups.

More...
'2.16.840.1.113730.3' => 'directory',
'2.16.840.1.113730.4.1' => 'serverGatedCrypto',
'2.16.840.1.113733.1.6.3' => 'Unknown Verisign extension',
'2.16.840.1.113733.1.6.6' => 'Unknown Verisign extension',
'2.16.840.1.113733.1.7.1.1' => 'Verisign certificatePolicy',
'2.16.840.1.113733.1.7.1.1.1' => 'Unknown Verisign policy qualifier',
'2.16.840.1.113733.1.7.1.1.2' => 'Unknown Verisign policy qualifier',
'2.23.133' => 'TCPA',
'2.23.133.1' => 'tcpa_specVersion',
'2.23.133.2' => 'tcpa_attribute',
'2.23.133.2.1' => 'tcpa_at_tpmManufacturer',
'2.23.133.2.10' => 'tcpa_at_securityQualities',
'2.23.133.2.11' => 'tcpa_at_tpmProtectionProfile',
'2.23.133.2.12' => 'tcpa_at_tpmSecurityTarget',
'2.23.133.2.13' => 'tcpa_at_foundationProtectionProfile',
'2.23.133.2.14' => 'tcpa_at_foundationSecurityTarget',
'2.23.133.2.15' => 'tcpa_at_tpmIdLabel',
'2.23.133.2.2' => 'tcpa_at_tpmModel',
'2.23.133.2.3' => 'tcpa_at_tpmVersion',
'2.23.133.2.4' => 'tcpa_at_platformManufacturer',
'2.23.133.2.5' => 'tcpa_at_platformModel',
'2.23.133.2.6' => 'tcpa_at_platformVersion',
'2.23.133.2.7' => 'tcpa_at_componentManufacturer',
'2.23.133.2.8' => 'tcpa_at_componentModel',
'2.23.133.2.9' => 'tcpa_at_componentVersion',
'2.23.133.3' => 'tcpa_protocol',
'2.23.133.3.1' => 'tcpa_prtt_tpmIdProtocol',
'2.23.42.0' => 'contentType',
'2.23.42.0.0' => 'PANData',
'2.23.42.0.1' => 'PANToken',
'2.23.42.0.2' => 'PANOnly',
'2.23.42.1' => 'msgExt',
'2.23.42.10' => 'national',
'2.23.42.10.192' => 'Japan',
'2.23.42.2' => 'field',
'2.23.42.2.0' => 'fullName',
'2.23.42.2.1' => 'givenName',
'2.23.42.2.10' => 'amount',
'2.23.42.2.2' => 'familyName',
'2.23.42.2.3' => 'birthFamilyName',
'2.23.42.2.4' => 'placeName',
'2.23.42.2.5' => 'identificationNumber',
'2.23.42.2.6' => 'month',
'2.23.42.2.7' => 'date',
'2.23.42.2.7.11' => 'accountNumber',
'2.23.42.2.7.12' => 'passPhrase',
'2.23.42.2.8' => 'address',
'2.23.42.2.9' => 'telephone',
'2.23.42.3' => 'attribute',
'2.23.42.3.0' => 'cert',
'2.23.42.3.0.0' => 'rootKeyThumb',
'2.23.42.3.0.1' => 'additionalPolicy',
'2.23.42.4' => 'algorithm',
'2.23.42.5' => 'policy',
'2.23.42.5.0' => 'root',
'2.23.42.6' => 'module',
'2.23.42.7' => 'certExt',
'2.23.42.7.0' => 'hashedRootKey',
'2.23.42.7.1' => 'certificateType',
'2.23.42.7.2' => 'merchantData',
'2.23.42.7.3' => 'cardCertRequired',
'2.23.42.7.4' => 'tunneling',
'2.23.42.7.5' => 'setExtensions',
'2.23.42.7.6' => 'setQualifier',
'2.23.42.8' => 'brand',
'2.23.42.8.1' => 'IATA-ATA',
'2.23.42.8.30' => 'Diners',
'2.23.42.8.34' => 'AmericanExpress',
'2.23.42.8.4' => 'VISA',
'2.23.42.8.5' => 'MasterCard',
'2.23.42.8.6011' => 'Novus',
'2.23.42.9' => 'vendor',
'2.23.42.9.0' => 'GlobeSet',
'2.23.42.9.1' => 'IBM',
'2.23.42.9.10' => 'Griffin',
'2.23.42.9.11' => 'Certicom',
'2.23.42.9.12' => 'OSS',
'2.23.42.9.13' => 'TenthMountain',
'2.23.42.9.14' => 'Antares',
'2.23.42.9.15' => 'ECC',
'2.23.42.9.16' => 'Maithean',
'2.23.42.9.17' => 'Netscape',
'2.23.42.9.18' => 'Verisign',
'2.23.42.9.19' => 'BlueMoney',
'2.23.42.9.2' => 'CyberCash',
'2.23.42.9.20' => 'Lacerte',
'2.23.42.9.21' => 'Fujitsu',
'2.23.42.9.22' => 'eLab',
'2.23.42.9.23' => 'Entrust',
'2.23.42.9.24' => 'VIAnet',
'2.23.42.9.25' => 'III',
'2.23.42.9.26' => 'OpenMarket',
'2.23.42.9.27' => 'Lexem',
'2.23.42.9.28' => 'Intertrader',
'2.23.42.9.29' => 'Persimmon',
'2.23.42.9.3' => 'Terisa',
'2.23.42.9.30' => 'NABLE',
'2.23.42.9.31' => 'espace-net',
'2.23.42.9.32' => 'Hitachi',
'2.23.42.9.33' => 'Microsoft',
'2.23.42.9.34' => 'NEC',
'2.23.42.9.35' => 'Mitsubishi',
'2.23.42.9.36' => 'NCR',
'2.23.42.9.37' => 'e-COMM',
'2.23.42.9.38' => 'Gemplus',
'2.23.42.9.4' => 'RSADSI',
'2.23.42.9.5' => 'VeriFone',
'2.23.42.9.6' => 'TrinTech',
'2.23.42.9.7' => 'BankGate',
'2.23.42.9.8' => 'GTE',
'2.23.42.9.9' => 'CompuSource',
'2.5.29.1' => 'authorityKeyIdentifier',
'2.5.29.10' => 'basicConstraints',
'2.5.29.11' => 'nameConstraints',
'2.5.29.12' => 'policyConstraints',
'2.5.29.13' => 'basicConstraints',
'2.5.29.14' => 'subjectKeyIdentifier',
'2.5.29.15' => 'keyUsage',
'2.5.29.16' => 'privateKeyUsagePeriod',
'2.5.29.17' => 'subjectAltName',
'2.5.29.18' => 'issuerAltName',
'2.5.29.19' => 'basicConstraints',
'2.5.29.2' => 'keyAttributes',
'2.5.29.20' => 'cRLNumber',
'2.5.29.21' => 'cRLReason',
'2.5.29.22' => 'expirationDate',
'2.5.29.23' => 'instructionCode',
'2.5.29.24' => 'invalidityDate',
'2.5.29.26' => 'issuingDistributionPoint',
'2.5.29.27' => 'deltaCRLIndicator',
'2.5.29.28' => 'issuingDistributionPoint',
'2.5.29.29' => 'certificateIssuer',
'2.5.29.3' => 'certificatePolicies',
'2.5.29.30' => 'nameConstraints',
'2.5.29.31' => 'cRLDistributionPoints',
'2.5.29.32' => 'certificatePolicies',
'2.5.29.33' => 'policyMappings',
'2.5.29.34' => 'policyConstraints',
'2.5.29.35' => 'authorityKeyIdentifier',
'2.5.29.36' => 'policyConstraints',
'2.5.29.37' => 'extKeyUsage',
'2.5.29.4' => 'keyUsageRestriction',
'2.5.29.5' => 'policyMapping',
'2.5.29.6' => 'subtreesConstraint',
'2.5.29.7' => 'subjectAltName',
'2.5.29.8' => 'issuerAltName',
'2.5.29.9' => 'subjectDirectoryAttributes',
'2.5.4.0' => 'objectClass',
'2.5.4.1' => 'aliasObjectName',
'2.5.4.12' => 'title',
'2.5.4.13' => 'description',
'2.5.4.14' => 'searchGuide',
'2.5.4.15' => 'businessCategory',
'2.5.4.16' => 'postalAddress',
'2.5.4.17' => 'postalCode',
'2.5.4.18' => 'postOfficeBox',
'2.5.4.19' => 'physicalDeliveryOfficeName',
'2.5.4.2' => 'knowledgeInformation',
'2.5.4.20' => 'telephoneNumber',
'2.5.4.21' => 'telexNumber',
'2.5.4.22' => 'teletexTerminalIdentifier',
'2.5.4.23' => 'facsimileTelephoneNumber',
'2.5.4.24' => 'x121Address',
'2.5.4.25' => 'internationalISDNNumber',
'2.5.4.26' => 'registeredAddress',
'2.5.4.27' => 'destinationIndicator',
'2.5.4.28' => 'preferredDeliveryMehtod',
'2.5.4.29' => 'presentationAddress',
'2.5.4.30' => 'supportedApplicationContext',
'2.5.4.31' => 'member',
'2.5.4.32' => 'owner',
'2.5.4.33' => 'roleOccupant',
'2.5.4.34' => 'seeAlso',
'2.5.4.35' => 'userPassword',
'2.5.4.36' => 'userCertificate',
'2.5.4.37' => 'caCertificate',
'2.5.4.38' => 'authorityRevocationList',
'2.5.4.39' => 'certificateRevocationList',
'2.5.4.40' => 'crossCertificatePair',
'2.5.4.41' => 'givenName',
'2.5.4.42' => 'givenName',
'2.5.4.5' => 'serialNumber',
'2.5.4.52' => 'supportedAlgorithms',
'2.5.4.53' => 'deltaRevocationList',
'2.5.4.58' => 'crossCertificatePair',
'2.5.4.9' => 'streetAddress',
'2.5.8' => 'X.500-Algorithms',
'2.5.8.1' => 'X.500-Alg-Encryption',
'2.5.8.1.1' => 'rsa',
'2.16.76.1.1' => 'DPC',
'2.16.76.1.1.0' => 'DPC da AC Raiz',
'2.16.76.1.1.1' => 'DPC da AC Presidência',
'2.16.76.1.1.2' => 'DPC da AC Serpro',
'2.16.76.1.1.3' => 'DPC da SERASA Autoridade Certificadora Principal - ACP',
'2.16.76.1.1.4' => 'DPC da SERASA Autoridade Certificadora - AC',
'2.16.76.1.1.5' => 'DPC da AC CertiSign na ICP­Brasil',
'2.16.76.1.1.6' => 'DPC da AC CertiSign SPB na ICP­Brasil',
'2.16.76.1.1.7' => 'DPC da SERASA Certificadora Digital',
'2.16.76.1.1.8' => 'DPC da AC SRF',
'2.16.76.1.1.9' => 'DPC da AC CAIXA',
'2.16.76.1.1.10' => 'DPC da AC CAIXA IN',
'2.16.76.1.1.11' => 'DPC da AC CAIXA PJ',
'2.16.76.1.1.12' => 'DPC da AC CAIXA PF',
'2.16.76.1.1.13' => 'DPC da AC SERPRO SRF',
'2.16.76.1.1.14' => 'DPC da Autoridade Certificadora CertiSign Múltipla',
'2.16.76.1.1.15' => 'DPC da Autoridade Certificadora CertiSign para Secretaria da Receita Federal',
'2.16.76.1.1.16' => 'DPC da AC SERASA SRF',
'2.16.76.1.1.17' => 'DPC da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.1.18' => 'DPC da Autoridade Certificadora PRODEMGE',
'2.16.76.1.1.19' => 'DPC da Autoridade Certificadora do Sistema Justiça Federal - AC­JUS',
'2.16.76.1.1.20' => 'Declaração de Práticas de Certificação da Autoridade Certificadora do SERPRO Final - DPC SERPRO ACF',
'2.16.76.1.1' => 'DPC',
'2.16.76.1.1.21' => 'Declaração de Práticas de Certificação da Autoridade Certificadora SINCOR',
'2.16.76.1.1.22' => 'Declaração de Práticas de Certificação da Autoridade Certificadora Imprensa Oficial SP SRF',
'2.16.76.1.1.23' => 'Declaração de Práticas de Certificação da AC FENACOR',
'2.16.76.1.1.24' => 'Declaração de Práticas de Certificação da Autoridade Certificadora SERPRO­ JUS',
'2.16.76.1.1.25' => 'DPC da AC Caixa Justiça',
'2.16.76.1.1.26' => 'DPC da Autoridade Certificadora Imprensa Oficial SP (AC IMESP)',
'2.16.76.1.1.27' => 'DPC da Autoridade Certificadora PRODEMGE SRF',
'2.16.76.1.1.28' => 'Declaração de Práticas de Certificação da Autoridade Certificadora CertSign para a Justiça',
'2.16.76.1.1.29' => 'DPC da AC SERASA JUS',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.1' => 'A1',
'2.16.76.1.2.1.1' => 'Política de Certificados da ACSERPRO para certificados SERPRO­SPB ­ PC SERPRO­SPB',
'2.16.76.1.2.1.2' => 'Política de Certificados para certificados da SERASA Autoridade Certificadora',
'2.16.76.1.2.1.3' => 'Política de Certificados da Autoridade Certificadora da Presidência da República - PCA1',
'2.16.76.1.2.1.4' => 'Política de Certificado da Autoridade Certificadora CertiSign Certificadora Digital para o Sistema de Pagamentos Brasileiro na ICP­Brasil­ PC da AC CertiSign SPB na ICP­Brasil',
'2.16.76.1.2.1.5' => 'Política de Certificados SEPROA1',
'2.16.76.1.2.1.6' => 'Política de Certificado Digital para Certificado de Assinatura Digital Tipo A1 - SERASA CD',
'2.16.76.1.2.1.7' => 'Política de Certificado de Assinatura Digital do Tipo A1 da AC Caixa IN',
'2.16.76.1.2.1.8' => 'Política de Certificado de Assinatura Digital do Tipo A1 da AC Caixa PF',
'2.16.76.1.2.1.9' => 'Política de Certificado de Assinatura Digital do Tipo A1 da AC Caixa PJ',
'2.16.76.1.2.1.10' => 'Política de Certificados da Autoridade Certificadora do Serpro­SRF para certificados de assinatura digital do tipo A1 (PCSerpro­SRFA1)',
'2.16.76.1.2.1.11' => 'Política de Certificado de Assinatura Digital do Tipo A1 da Autoridade Certificadora CertiSign Múltipla na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.1.12' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora CertiSign para a Secretaria da Receita Federal',
'2.16.76.1.2.1.13' => 'Política de Certificado de Assinatura Digital Tipo A1 da AC SERASA SRF',
'2.16.76.1.2.1.14' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.1.15' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora PRODEMGE',
'2.16.76.1.2.1.16' => 'Política de Certificados SERPRO do Tipo A1 - PC SERPRO ACF A1',
'2.16.76.1.2.1.17' => 'Política de Certificados do SERPRO - SPB - PC SERPRO ACF SPB',
'2.16.76.1.2.1.18' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora SINCOR',
'2.16.76.1.2.1.19' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora SINCOR para Corretores de Seguros',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.1' => 'A1',
'2.16.76.1.2.1.20' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora Imprensa Oficial SP SRF',
'2.16.76.1.2.1.21' => 'Política de Certificados SERPRO­JUS do tipo A1 ­ PCSERPROJUSA1',
'2.16.76.1.2.1.22' => 'Política de Certificado de Assinatura Digital do Tipo A1 da AC Caixa Justiça',
'2.16.76.1.2.1.23' => 'Política de Certificado de Assinatura Tipo A1 da Autoridade Certificadora PRODEMGE SRF',
'2.16.76.1.2.1.24' => 'Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.1.25' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo A1',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.2' => 'A2',
'2.16.76.1.2.2.1' => 'Política de Certificado Digital para Certificado de Assinatura Digital Tipo A2 - SERASA CD',
'2.16.76.1.2.2.2' => 'Política de Certificado Digital para Certificado de Assinatura Digital Tipo A2 da AC SERASA SRF',
'2.16.76.1.2.2.3' => 'Política de Certificado de Assinatura Digital do Tipo A2 da Autoridade Certificadora CertiSign últipla na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.2.4' => 'Política de Certificado de Assinatura Digital do Tipo A2 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.2.5' => 'Política de Certificado de Assinatura Digital do Tipo A2 da AC Caixa Justiça',
'2.16.76.1.2.2.6' => 'Política de Certificado de Assinatura Digital Tipo A2 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.2.7' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo A2',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.3' => 'A3',
'2.16.76.1.2.3.1' => 'Política de Certificados da Autoridade Certificadora da Presidência da República - PC ACPR',
'2.16.76.1.2.3.2' => 'Política de Certificados da Autoridade Certificadora do SERPRO para certificados SERPRO do tipo A3 - PCSERPROA3',
'2.16.76.1.2.3.3' => 'Política de Certificado Digital para Certificado de Assinatura Digital Tipo A3 - SERASA CD',
'2.16.76.1.2.3.4' => 'Política de Certificados da Autoridade Certificadora do Serpro­SRF para certificados de assinatura digital do tipo A3 (PCSerpro­SRFA3)',
'2.16.76.1.2.3.5' => 'Política de Certificado de Assinatura Digital do Tipo A3 da Autoridade Certificadora CertiSign Múltipla na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.3.6' => 'Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora CertiSign para a Secretaria da Receita Federal na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.3.7' => 'Política de Certificado de Assinatura Digital do Tipo A3 da AC Caixa IN',
'2.16.76.1.2.3.8' => 'Política de Certificado de Assinatura Digital do Tipo A3 da AC Caixa PF',
'2.16.76.1.2.3.9' => 'Política de Certificado de Assinatura Digital do Tipo A3 da AC Caixa PJ',
'2.16.76.1.2.3.10' => 'Política de Certificado de Assinatura Digital do Tipo A3 da AC SERASA SRF',
'2.16.76.1.2.3.11' => 'Política de Certificado de Assinatura Digital do Tipo A3 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.3.12' => 'Política de Certificado de Assinatura Digital do Tipo A3 da Autoridade Certificadora PRODEMGE',
'2.16.76.1.2.3.13' => 'Política de Certificados SERPRO do Tipo A3 - PC SERPRO A3',
'2.16.76.1.2.3.14' => 'Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora SINCOR',
'2.16.76.1.2.3.15' => 'Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora SINCOR para Corretores de Seguros',
'2.16.76.1.2.3.16' => 'Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora Imprensa Oficial SP SRF',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.3' => 'A3',
'2.16.76.1.2.3.17' => 'Política de Certificado da AC FENACOR A3',
'2.16.76.1.2.3.18' => 'Política de Certificados SERPRO­JUS do tipo A3 PCSERPROJUSA3',
'2.16.76.1.2.3.19' => 'Política de Certificado de Assinatura Digital do Tipo A3 da AC Caixa Justiça',
'2.16.76.1.2.3.20' => 'Política de Certificado de Assinatura Tipo A3 da Autoridade Certificadora PRODEMGE SRF',
'2.16.76.1.2.3.21' => 'Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.3.22' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo A3',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.4' => 'A4',
'2.16.76.1.2.4.1' => 'Política de Certificado Digital para Certificado de Assinatura Digital Tipo A4 - SERASA CD;',
'2.16.76.1.2.4.2' => 'VAGO',
'2.16.76.1.2.4.3' => 'Política de Certificado de Assinatura Digital do Tipo A4 da Autoridade Certificadora CertiSign Múltipla na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.4.4' => 'Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora CertiSign para a Secretaria da Receita Federal na Infra­estrutura de Chaves Públicas Brasileira',
'2.16.76.1.2.4.5' => 'Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.4.6' => 'Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora Imprensa Oficial - SP SRF',
'2.16.76.1.2.4.7' => 'Política de Certificado de Assinatura Tipo A4 da Autoridade Certificadora PRODEMGE SRF',
'2.16.76.1.2.4.8' => 'Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.4.9' => 'VAGO',
'2.16.76.1.2.4.10' => 'Política de Certificado Digital a AC SERASA­JUS para Certificados Tipo A4',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.101' => 'S1',
'2.16.76.1.2.101.1' => 'Política de Certificado Digital para Certificado de Sigilo Tipo S1-SERASA CD',
'2.16.76.1.2.101.2' => 'Política de Certificado de Sigilo Tipo S1 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.101.3' => 'Política de Certificado de Sigilo do Tipo S1 da Autoridade Certificadora CertiSign Múltipla',
'2.16.76.1.2.101.4' => 'Política de Certificado de Sigilo do Tipo S1 da Autoridade Certificadora PRODEMGE',
'2.16.76.1.2.101.5' => 'Política de Certificado de Assinatura Digital do Tipo S1 da AC Caixa Justiça',
'2.16.76.1.2.101.6' => 'Política de Certificado de Assinatura Digital Tipo S1 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.101.7' => 'Política de Certificado Digital da AC SERASA­JUS para Cerficados Tipo S1',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.102' => 'S2',
'2.16.76.1.2.102.1' => 'Política de Certificado Digital para Certificado de Sigilo Tipo S2 - SERASA CD',
'2.16.76.1.2.102.2' => 'Política de Certificado de Sigilo Tipo S2 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.102.3' => 'Política de Certificado de Sigilo do Tipo S2 da Autoridade Certificadora CertiSign Múltipla',
'2.16.76.1.2.102.4' => 'Política de Certificado de Assinatura Digital do Tipo S2 da AC Caixa Justiça',
'2.16.76.1.2.102.5' => 'Política de Certificado de Assinatura Digital Tipo S2 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.102.6' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo S2',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.103' => 'S3',
'2.16.76.1.2.103.1' => 'Política de Certificado Digital para Certificado de Sigilo Tipo S3 - SERASA CD',
'2.16.76.1.2.103.2' => 'VAGO',
'2.16.76.1.2.103.3' => 'Política de Certificado de Sigilo do Tipo S3 da Autoridade Certificadora CertiSign Múltipla',
'2.16.76.1.2.103.4' => 'Política de Certificado de Sigilo Tipo S3 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.103.5' => 'Política de Certificado de Sigilo Tipo S3 da Autoridade Certificadora PRODEMGE',
'2.16.76.1.2.103.6' => 'Política de Certificado de Assinatura Digital do Tipo S3 da AC Caixa Justiça',
'2.16.76.1.2.103.7' => 'Política de Certificado de Assinatura Digital Tipo S3 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.103.8' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo S3',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.104' => 'S4',
'2.16.76.1.2.104.1' => 'Política de Certificado Digital para Certificado de Sigilo Tipo S4 - SERASA CD',
'2.16.76.1.2.104.2' => 'VAGO',
'2.16.76.1.2.104.3' => 'Política de Certificado de Sigilo do Tipo S4 da Autoridade Certificadora CertiSign Múltipla',
'2.16.76.1.2.104.4' => 'Política de Certificado de Sigilo Tipo S4 da Autoridade Certificadora Imprensa Oficial ­ SP',
'2.16.76.1.2.104.5' => 'Política de Certificado de Assinatura Digital Tipo S4 da Autoridade Certificadora CertiSign para a Justiça',
'2.16.76.1.2.104.6' => 'Política de Certificado Digital da AC SERASA­JUS para Certificados Tipo S4',
'2.16.76.1.2' => 'PC',
'2.16.76.1.2.201' => 'PC de AC',
'2.16.76.1.2.201.1' => 'PC da Serasa Autoridade Certificadora Principal - ACP',
'2.16.76.1.2.201.2' => 'PC da AC CertiSign na ICP­Brasil',
'2.16.76.1.2.201.3' => 'PC da AC SRF',
'2.16.76.1.2.201.4' => 'Política de Certificados da Autoridade Certificadora Caixa',
'2.16.76.1.2.201.5' => 'PC da Autoridade Certificadora do Sistema Justiça Federal - AC­ JUS',
'2.16.76.1.2.201.6' => 'PC da Autoridade Certificadora do SERPRO (AC SERPRO)',
'2.16.76.1.2.201.7' => 'PC da Autoridade Certificadora Imprensa Oficial SP (AC IMESP)',
'2.16.76.1.3' => 'Atributos Obrigatórios de Certificados',
'2.16.76.1.3.1' => 'campo otherName em certificado de pessoa física',
'2.16.76.1.3.2' => 'campo otherName em certificado de pessoa jurídica',
'2.16.76.1.3.3' => 'campo otherName em certificado de pessoa jurídica',
'2.16.76.1.3.4' => 'campo otherName em certificado de pessoa jurídica',
'2.16.76.1.3.5' => 'campo otherName em certificado de pessoa física',
'2.16.76.1.3.6' => 'campo otherName em certificado de pessoa física',
'2.16.76.1.3.7' => 'campo otherName em certificado de pessoa jurídica',
'2.16.76.1.4' => 'Atributos Opcionais de Certificados',
'2.16.76.1.4.1' => 'Entidades Sindicais',
'2.16.76.1.4.1.1' => 'SINCOR',
'2.16.76.1.4.1.1.1' => 'Número de registro do corretor associado');

In nfephp (git) you can find in Certificate class:
$oidsTable = array(
'2.5.4.3' => 'CN',
'2.5.4.4' => 'Surname',
'2.5.4.6' => 'C',
'2.5.4.7' => 'Cidade',
'2.5.4.8' => 'Estado',
'2.5.4.9' => 'StreetAddress',
'2.5.4.10' => 'O',
'2.5.4.11' => 'OU',
'2.5.4.12' => 'Title',
'2.5.4.20' => 'TelephoneNumber',
'2.5.4.42' => 'GivenName',
'2.5.29.14' => 'id-ce-subjectKeyIdentifier',
'2.5.29.15' => 'id-ce-keyUsage',
'2.5.29.17' => 'id-ce-subjectAltName',
'2.5.29.19' => 'id-ce-basicConstraints',
'2.5.29.20' => 'id-ce-cRLNumber',
'2.5.29.31' => 'id-ce-CRLDistributionPoints',
'2.5.29.32' => 'id-ce-certificatePolicies',
'2.5.29.35' => 'id-ce-authorityKeyIdentifier',
'2.5.29.37' => 'id-ce-extKeyUsage',
'1.2.840.113549.1.9.1' => 'Email',
'1.2.840.113549.1.1.1' => 'RSAEncryption',
'1.2.840.113549.1.1.2' => 'md2WithRSAEncryption',
'1.2.840.113549.1.1.4' => 'md5withRSAEncryption',
'1.2.840.113549.1.1.5' => 'SHA-1WithRSAEncryption',
'1.2.840.10040.4.3' => 'id-dsa-with-sha-1',
'1.3.6.1.5.5.7.3.2' => 'id_kp_clientAuth',
'1.3.6.1.5.5.7.3.4' => 'id_kp_securityemail',
'1.3.6.1.5.5.7.2.1' => 'id_certificatePolicies',
'2.16.840.1.113730.1.1' => 'netscape-cert-type',
'2.16.840.1.113730.1.2' => 'netscape-base-url',
'2.16.840.1.113730.1.3' => 'netscape-revocation-url',
'2.16.840.1.113730.1.4' => 'netscape-ca-revocation-url',
'2.16.840.1.113730.1.7' => 'netscape-cert-renewal-url',
'2.16.840.1.113730.1.8' => 'netscape-ca-policy-url',
'2.16.840.1.113730.1.12' => 'netscape-ssl-server-name',
'2.16.840.1.113730.1.13' => 'netscape-comment',
'2.16.76.1.2.1' => 'A1',
'2.16.76.1.2.3' => 'A3',
'2.16.76.1.2.1.16' => 'Certification Practice Statement pointer',
'2.16.76.1.3.1' => 'Dados do cert parte 1',
'2.16.76.1.3.5' => 'Dados do cert parte 2',
'2.16.76.1.3.6' => 'Dados do cert parte 3',
'0.9.2342.19200300.100.1.25' => 'domainComponent',
'1.2.36.68980861.1.1.10' => 'Signet pilot',
'1.2.36.68980861.1.1.11' => 'Signet intraNet',
'1.2.36.68980861.1.1.2' => 'Signet personal',
'1.2.36.68980861.1.1.20' => 'Signet securityPolicy',
'1.2.36.68980861.1.1.3' => 'Signet business',
'1.2.36.68980861.1.1.4' => 'Signet legal',
'1.2.36.75878867.1.100.1.1' => 'Certificates Australia policyIdentifier',
'1.2.752.34.1' => 'seis-cp',
'1.2.752.34.1.1' => 'SEIS certificatePolicy-s10',
'1.2.752.34.2' => 'SEIS pe',
'1.2.752.34.3' => 'SEIS at',
'1.2.752.34.3.1' => 'SEIS at-personalIdentifier',
'1.2.840.10040.2.1' => 'holdinstruction-none',
'1.2.840.10040.2.2' => 'holdinstruction-callissuer',
'1.2.840.10040.2.3' => 'holdinstruction-reject',
'1.2.840.10040.4.1' => 'dsa',
'1.2.840.10040.4.3' => 'dsaWithSha1',
'1.2.840.10045.1' => 'fieldType',
'1.2.840.10045.1.1' => 'prime-field',
'1.2.840.10045.1.2' => 'characteristic-two-field',
'1.2.840.10045.1.2.1' => 'ecPublicKey',
'1.2.840.10045.1.2.3' => 'characteristic-two-basis',
'1.2.840.10045.1.2.3.1' => 'onBasis',
'1.2.840.10045.1.2.3.2' => 'tpBasis',
'1.2.840.10045.1.2.3.3' => 'ppBasis',
'1.2.840.10045.2' => 'publicKeyType',
'1.2.840.10045.2.1' => 'ecPublicKey',
'1.2.840.10046.2.1' => 'dhPublicNumber',
'1.2.840.113533.7' => 'nsn',
'1.2.840.113533.7.65' => 'nsn-ce',
'1.2.840.113533.7.65.0' => 'entrustVersInfo',
'1.2.840.113533.7.66' => 'nsn-alg',
'1.2.840.113533.7.66.10' => 'cast5CBC',
'1.2.840.113533.7.66.11' => 'cast5MAC',
'1.2.840.113533.7.66.12' => 'pbeWithMD5AndCAST5-CBC',
'1.2.840.113533.7.66.13' => 'passwordBasedMac',
'1.2.840.113533.7.66.3' => 'cast3CBC',
'1.2.840.113533.7.67' => 'nsn-oc',
'1.2.840.113533.7.67.0' => 'entrustUser',
'1.2.840.113533.7.68' => 'nsn-at',
'1.2.840.113533.7.68.0' => 'entrustCAInfo',
'1.2.840.113533.7.68.10' => 'attributeCertificate',
'1.2.840.113549.1.1' => 'pkcs-1',
'1.2.840.113549.1.1.1' => 'rsaEncryption',
'1.2.840.113549.1.1.2' => 'md2withRSAEncryption',
'1.2.840.113549.1.1.3' => 'md4withRSAEncryption',
'1.2.840.113549.1.1.4' => 'md5withRSAEncryption',
'1.2.840.113549.1.1.5' => 'sha1withRSAEncryption',
'1.2.840.113549.1.1.6' => 'rsaOAEPEncryptionSET',
'1.2.840.113549.1.9.16.2.11' => 'SMIMEEncryptionKeyPreference',
'1.2.840.113549.1.12' => 'pkcs-12',
'1.2.840.113549.1.12.1' => 'pkcs-12-PbeIds',
'1.2.840.113549.1.12.1.1' => 'pbeWithSHAAnd128BitRC4',
'1.2.840.113549.1.12.1.2' => 'pbeWithSHAAnd40BitRC4',
'1.2.840.113549.1.12.1.3' => 'pbeWithSHAAnd3-KeyTripleDES-CBC',
'1.2.840.113549.1.12.1.4' => 'pbeWithSHAAnd2-KeyTripleDES-CBC',
'1.2.840.113549.1.12.1.5' => 'pbeWithSHAAnd128BitRC2-CBC',
'1.2.840.113549.1.12.1.6' => 'pbeWithSHAAnd40BitRC2-CBC',
'1.2.840.113549.1.12.10' => 'pkcs-12Version1',
'1.2.840.113549.1.12.10.1' => 'pkcs-12BadIds',
'1.2.840.113549.1.12.10.1.1' => 'pkcs-12-keyBag',
'1.2.840.113549.1.12.10.1.2' => 'pkcs-12-pkcs-8ShroudedKeyBag',
'1.2.840.113549.1.12.10.1.3' => 'pkcs-12-certBag',
'1.2.840.113549.1.12.10.1.4' => 'pkcs-12-crlBag',
'1.2.840.113549.1.12.10.1.5' => 'pkcs-12-secretBag',
'1.2.840.113549.1.12.10.1.6' => 'pkcs-12-safeContentsBag',
'1.2.840.113549.1.12.2' => 'pkcs-12-ESPVKID',
'1.2.840.113549.1.12.2.1' => 'pkcs-12-PKCS8KeyShrouding',
'1.2.840.113549.1.12.3' => 'pkcs-12-BagIds',
'1.2.840.113549.1.12.3.1' => 'pkcs-12-keyBagId',
'1.2.840.113549.1.12.3.2' => 'pkcs-12-certAndCRLBagId',
'1.2.840.113549.1.12.3.3' => 'pkcs-12-secretBagId',
'1.2.840.113549.1.12.3.4' => 'pkcs-12-safeContentsId',
'1.2.840.113549.1.12.3.5' => 'pkcs-12-pkcs-8ShroudedKeyBagId',
'1.2.840.113549.1.12.4' => 'pkcs-12-CertBagID',
'1.2.840.113549.1.12.4.1' => 'pkcs-12-X509CertCRLBagID',
'1.2.840.113549.1.12.4.2' => 'pkcs-12-SDSICertBagID',
'1.2.840.113549.1.12.5' => 'pkcs-12-OID',
'1.2.840.113549.1.12.5.1' => 'pkcs-12-PBEID',
'1.2.840.113549.1.12.5.1.1' => 'pkcs-12-PBEWithSha1And128BitRC4',
'1.2.840.113549.1.12.5.1.2' => 'pkcs-12-PBEWithSha1And40BitRC4',
'1.2.840.113549.1.12.5.1.3' => 'pkcs-12-PBEWithSha1AndTripleDESCBC',
'1.2.840.113549.1.12.5.1.4' => 'pkcs-12-PBEWithSha1And128BitRC2CBC',
'1.2.840.113549.1.12.5.1.5' => 'pkcs-12-PBEWithSha1And40BitRC2CBC',
'1.2.840.113549.1.12.5.1.6' => 'pkcs-12-PBEWithSha1AndRC4',
'1.2.840.113549.1.12.5.1.7' => 'pkcs-12-PBEWithSha1AndRC2CBC',
'1.2.840.113549.1.12.5.2' => 'pkcs-12-EnvelopingID',
'1.2.840.113549.1.12.5.2.1' => 'pkcs-12-RSAEncryptionWith128BitRC4',
'1.2.840.113549.1.12.5.2.2' => 'pkcs-12-RSAEncryptionWith40BitRC4',
'1.2.840.113549.1.12.5.2.3' => 'pkcs-12-RSAEncryptionWithTripleDES',
'1.2.840.113549.1.12.5.3' => 'pkcs-12-SignatureID',
'1.2.840.113549.1.12.5.3.1' => 'pkcs-12-RSASignatureWithSHA1Digest',
'1.2.840.113549.1.3' => 'pkcs-3',
'1.2.840.113549.1.3.1' => 'dhKeyAgreement',
'1.2.840.113549.1.5' => 'pkcs-5',
'1.2.840.113549.1.5.1' => 'pbeWithMD2AndDES-CBC',
'1.2.840.113549.1.5.10' => 'pbeWithSHAAndDES-CBC',
'1.2.840.113549.1.5.3' => 'pbeWithMD5AndDES-CBC',
'1.2.840.113549.1.5.4' => 'pbeWithMD2AndRC2-CBC',
'1.2.840.113549.1.5.6' => 'pbeWithMD5AndRC2-CBC',
'1.2.840.113549.1.5.9' => 'pbeWithMD5AndXOR',
'1.2.840.113549.1.7' => 'pkcs-7',
'1.2.840.113549.1.7.1' => 'data',
'1.2.840.113549.1.7.2' => 'signedData',
'1.2.840.113549.1.7.3' => 'envelopedData',
'1.2.840.113549.1.7.4' => 'signedAndEnvelopedData',
'1.2.840.113549.1.7.5' => 'digestData',
'1.2.840.113549.1.7.6' => 'encryptedData',
'1.2.840.113549.1.7.7' => 'dataWithAttributes',
'1.2.840.113549.1.7.8' => 'encryptedPrivateKeyInfo',
'1.2.840.113549.1.9' => 'pkcs-9',
'1.2.840.113549.1.9.1' => 'emailAddress',
'1.2.840.113549.1.9.10' => 'issuerAndSerialNumber',
'1.2.840.113549.1.9.11' => 'passwordCheck',
'1.2.840.113549.1.9.12' => 'publicKey',
'1.2.840.113549.1.9.13' => 'signingDescription',
'1.2.840.113549.1.9.14' => 'extensionReq',
'1.2.840.113549.1.9.15' => 'sMIMECapabilities',
'1.2.840.113549.1.9.15.1' => 'preferSignedData',
'1.2.840.113549.1.9.15.2' => 'canNotDecryptAny',
'1.2.840.113549.1.9.15.3' => 'receiptRequest',
'1.2.840.113549.1.9.15.4' => 'receipt',
'1.2.840.113549.1.9.15.5' => 'contentHints',
'1.2.840.113549.1.9.15.6' => 'mlExpansionHistory',
'1.2.840.113549.1.9.16' => 'id-sMIME',
'1.2.840.113549.1.9.16.0' => 'id-mod',
'1.2.840.113549.1.9.16.0.1' => 'id-mod-cms',
'1.2.840.113549.1.9.16.0.2' => 'id-mod-ess',
'1.2.840.113549.1.9.16.1' => 'id-ct',
'1.2.840.113549.1.9.16.1.1' => 'id-ct-receipt',
'1.2.840.113549.1.9.16.2' => 'id-aa',
'1.2.840.113549.1.9.16.2.1' => 'id-aa-receiptRequest',
'1.2.840.113549.1.9.16.2.2' => 'id-aa-securityLabel',
'1.2.840.113549.1.9.16.2.3' => 'id-aa-mlExpandHistory',
'1.2.840.113549.1.9.16.2.4' => 'id-aa-contentHint',
'1.2.840.113549.1.9.2' => 'unstructuredName',
'1.2.840.113549.1.9.20' => 'friendlyName',
'1.2.840.113549.1.9.21' => 'localKeyID',
'1.2.840.113549.1.9.22' => 'certTypes',
'1.2.840.113549.1.9.22.1' => 'x509Certificate',
'1.2.840.113549.1.9.22.2' => 'sdsiCertificate',
'1.2.840.113549.1.9.23' => 'crlTypes',
'1.2.840.113549.1.9.23.1' => 'x509Crl',
'1.2.840.113549.1.9.3' => 'contentType',
'1.2.840.113549.1.9.4' => 'messageDigest',
'1.2.840.113549.1.9.5' => 'signingTime',
'1.2.840.113549.1.9.6' => 'countersignature',
'1.2.840.113549.1.9.7' => 'challengePassword',
'1.2.840.113549.1.9.8' => 'unstructuredAddress',
'1.2.840.113549.1.9.9' => 'extendedCertificateAttributes',
'1.2.840.113549.2' => 'digestAlgorithm',
'1.2.840.113549.2.2' => 'md2',
'1.2.840.113549.2.4' => 'md4',
'1.2.840.113549.2.5' => 'md5',
'1.2.840.113549.3' => 'encryptionAlgorithm',
'1.2.840.113549.3.10' => 'desCDMF',
'1.2.840.113549.3.2' => 'rc2CBC',
'1.2.840.113549.3.3' => 'rc2ECB',
'1.2.840.113549.3.4' => 'rc4',
'1.2.840.113549.3.5' => 'rc4WithMAC',
'1.2.840.113549.3.6' => 'DESX-CBC',
'1.2.840.113549.3.7' => 'DES-EDE3-CBC',
'1.2.840.113549.3.8' => 'RC5CBC',
'1.2.840.113549.3.9' => 'RC5-CBCPad',
'1.2.840.113556.4.3' => 'microsoftExcel',
'1.2.840.113556.4.4' => 'titledWithOID',
'1.2.840.113556.4.5' => 'microsoftPowerPoint',
'1.3.133.16.840.9.84' => 'x9-84',
'1.3.133.16.840.9.84.0' => 'x9-84-Module',
'1.3.133.16.840.9.84.0.1' => 'x9-84-Biometrics',
'1.3.133.16.840.9.84.0.2' => 'x9-84-CMS',
'1.3.133.16.840.9.84.0.3' => 'x9-84-Identifiers',
'1.3.133.16.840.9.84.1' => 'biometric',
'1.3.133.16.840.9.84.1.0' => 'id-unknown-Type',
'1.3.133.16.840.9.84.1.1' => 'id-body-Odor',
'1.3.133.16.840.9.84.1.10' => 'id-palm',
'1.3.133.16.840.9.84.1.11' => 'id-retina',
'1.3.133.16.840.9.84.1.12' => 'id-signature',
'1.3.133.16.840.9.84.1.13' => 'id-speech-Pattern',
'1.3.133.16.840.9.84.1.14' => 'id-thermal-Image',
'1.3.133.16.840.9.84.1.15' => 'id-vein-Pattern',
'1.3.133.16.840.9.84.1.16' => 'id-thermal-Face-Image',
'1.3.133.16.840.9.84.1.17' => 'id-thermal-Hand-Image',
'1.3.133.16.840.9.84.1.18' => 'id-lip-Movement',
'1.3.133.16.840.9.84.1.19' => 'id-gait',
'1.3.133.16.840.9.84.1.2' => 'id-dna',
'1.3.133.16.840.9.84.1.3' => 'id-ear-Shape',
'1.3.133.16.840.9.84.1.4' => 'id-facial-Features',
'1.3.133.16.840.9.84.1.5' => 'id-finger-Image',
'1.3.133.16.840.9.84.1.6' => 'id-finger-Geometry',
'1.3.133.16.840.9.84.1.7' => 'id-hand-Geometry',
'1.3.133.16.840.9.84.1.8' => 'id-iris-Features',
'1.3.133.16.840.9.84.1.9' => 'id-keystroke-Dynamics',
'1.3.133.16.840.9.84.2' => 'processing-algorithm',
'1.3.133.16.840.9.84.3' => 'matching-method',
'1.3.133.16.840.9.84.4' => 'format-Owner',
'1.3.133.16.840.9.84.4.0' => 'cbeff-Owner',
'1.3.133.16.840.9.84.4.1' => 'ibia-Owner',
'1.3.133.16.840.9.84.4.1.1' => 'id-ibia-SAFLINK',
'1.3.133.16.840.9.84.4.1.10' => 'id-ibia-SecuGen',
'1.3.133.16.840.9.84.4.1.11' => 'id-ibia-PreciseBiometric',
'1.3.133.16.840.9.84.4.1.12' => 'id-ibia-Identix',
'1.3.133.16.840.9.84.4.1.13' => 'id-ibia-DERMALOG',
'1.3.133.16.840.9.84.4.1.14' => 'id-ibia-LOGICO',
'1.3.133.16.840.9.84.4.1.15' => 'id-ibia-NIST',
'1.3.133.16.840.9.84.4.1.16' => 'id-ibia-A3Vision',
'1.3.133.16.840.9.84.4.1.17' => 'id-ibia-NEC',
'1.3.133.16.840.9.84.4.1.18' => 'id-ibia-STMicroelectronics',
'1.3.133.16.840.9.84.4.1.2' => 'id-ibia-Bioscrypt',
'1.3.133.16.840.9.84.4.1.3' => 'id-ibia-Visionics',
'1.3.133.16.840.9.84.4.1.4' => 'id-ibia-InfineonTechnologiesAG',
'1.3.133.16.840.9.84.4.1.5' => 'id-ibia-IridianTechnologies',
'1.3.133.16.840.9.84.4.1.6' => 'id-ibia-Veridicom',
'1.3.133.16.840.9.84.4.1.7' => 'id-ibia-CyberSIGN',
'1.3.133.16.840.9.84.4.1.8' => 'id-ibia-eCryp.',
'1.3.133.16.840.9.84.4.1.9' => 'id-ibia-FingerprintCardsAB',
'1.3.133.16.840.9.84.4.2' => 'x9-Owner',
'1.3.14.2.26.5' => 'sha',
'1.3.14.3.2.1.1' => 'rsa',
'1.3.14.3.2.10' => 'desMAC',
'1.3.14.3.2.11' => 'rsaSignature',
'1.3.14.3.2.12' => 'dsa',
'1.3.14.3.2.13' => 'dsaWithSHA',
'1.3.14.3.2.14' => 'mdc2WithRSASignature',
'1.3.14.3.2.15' => 'shaWithRSASignature',
'1.3.14.3.2.16' => 'dhWithCommonModulus',
'1.3.14.3.2.17' => 'desEDE',
'1.3.14.3.2.18' => 'sha',
'1.3.14.3.2.19' => 'mdc-2',
'1.3.14.3.2.2' => 'md4WitRSA',
'1.3.14.3.2.2.1' => 'sqmod-N',
'1.3.14.3.2.20' => 'dsaCommon',
'1.3.14.3.2.21' => 'dsaCommonWithSHA',
'1.3.14.3.2.22' => 'rsaKeyTransport',
'1.3.14.3.2.23' => 'keyed-hash-seal',
'1.3.14.3.2.24' => 'md2WithRSASignature',
'1.3.14.3.2.25' => 'md5WithRSASignature',
'1.3.14.3.2.26' => 'sha1',
'1.3.14.3.2.27' => 'dsaWithSHA1',
'1.3.14.3.2.28' => 'dsaWithCommonSHA1',
'1.3.14.3.2.29' => 'sha-1WithRSAEncryption',
'1.3.14.3.2.3' => 'md5WithRSA',
'1.3.14.3.2.3.1' => 'sqmod-NwithRSA',
'1.3.14.3.2.4' => 'md4WithRSAEncryption',
'1.3.14.3.2.6' => 'desECB',
'1.3.14.3.2.7' => 'desCBC',
'1.3.14.3.2.8' => 'desOFB',
'1.3.14.3.2.9' => 'desCFB',
'1.3.14.3.3.1' => 'simple-strong-auth-mechanism',
'1.3.14.7.2.1.1' => 'ElGamal',
'1.3.14.7.2.3.1' => 'md2WithRSA',
'1.3.14.7.2.3.2' => 'md2WithElGamal',
'1.3.36.3' => 'algorithm',
'1.3.36.3.1' => 'encryptionAlgorithm',
'1.3.36.3.1.1' => 'des',
'1.3.36.3.1.1.1.1' => 'desECBPad',
'1.3.36.3.1.1.1.1.1' => 'desECBPadISO',
'1.3.36.3.1.1.2.1' => 'desCBCPad',
'1.3.36.3.1.1.2.1.1' => 'desCBCPadISO',
'1.3.36.3.1.2' => 'idea',
'1.3.36.3.1.2.1' => 'ideaECB',
'1.3.36.3.1.2.1.1' => 'ideaECBPad',
'1.3.36.3.1.2.1.1.1' => 'ideaECBPadISO',
'1.3.36.3.1.2.2' => 'ideaCBC',
'1.3.36.3.1.2.2.1' => 'ideaCBCPad',
'1.3.36.3.1.2.2.1.1' => 'ideaCBCPadISO',
'1.3.36.3.1.2.3' => 'ideaOFB',
'1.3.36.3.1.2.4' => 'ideaCFB',
'1.3.36.3.1.3' => 'des-3',
'1.3.36.3.1.3.1.1' => 'des-3ECBPad',
'1.3.36.3.1.3.1.1.1' => 'des-3ECBPadISO',
'1.3.36.3.1.3.2.1' => 'des-3CBCPad',
'1.3.36.3.1.3.2.1.1' => 'des-3CBCPadISO',
'1.3.36.3.2' => 'hashAlgorithm',
'1.3.36.3.2.1' => 'ripemd160',
'1.3.36.3.2.2' => 'ripemd128',
'1.3.36.3.2.3' => 'ripemd256',
'1.3.36.3.2.4' => 'mdc2singleLength',
'1.3.36.3.2.5' => 'mdc2doubleLength',
'1.3.36.3.3' => 'signatureAlgorithm',
'1.3.36.3.3.1' => 'rsa',
'1.3.36.3.3.1.1' => 'rsaMitSHA-1',
'1.3.36.3.3.1.2' => 'rsaMitRIPEMD160',
'1.3.36.3.3.2' => 'ellipticCurve',
'1.3.36.3.4' => 'signatureScheme',
'1.3.36.3.4.1' => 'iso9796-1',
'1.3.36.3.4.2.1' => 'iso9796-2',
'1.3.36.3.4.2.2' => 'iso9796-2rsa',
'1.3.36.4' => 'attribute',
'1.3.36.5' => 'policy',
'1.3.36.6' => 'api',
'1.3.36.6.1' => 'manufacturerSpecific',
'1.3.36.6.2' => 'functionalitySpecific',
'1.3.36.7' => 'api',
'1.3.36.7.1' => 'keyAgreement',
'1.3.36.7.2' => 'keyTransport',
'1.3.6.1.4.1.2428.10.1.1' => 'UNINETT policyIdentifier',
'1.3.6.1.4.1.2712.10' => 'ICE-TEL policyIdentifier',
'1.3.6.1.4.1.3029.32.1' => 'cryptlibEnvelope',
'1.3.6.1.4.1.3029.32.2' => 'cryptlibPrivateKey',
'1.3.6.1.4.1.311' => 'Microsoft OID',
'1.3.6.1.4.1.311.10' => 'Crypto 2.0',
'1.3.6.1.4.1.311.10.1' => 'certTrustList',
'1.3.6.1.4.1.311.10.1.1' => 'szOID_SORTED_CTL',
'1.3.6.1.4.1.311.10.10' => 'Microsoft CMC OIDs',
'1.3.6.1.4.1.311.10.10.1' => 'szOID_CMC_ADD_ATTRIBUTES',
'1.3.6.1.4.1.311.10.11' => 'Microsoft certificate property OIDs',
'1.3.6.1.4.1.311.10.11.1' => 'szOID_CERT_PROP_ID_PREFIX',
'1.3.6.1.4.1.311.10.12' => 'CryptUI',
'1.3.6.1.4.1.311.10.12.1' => 'szOID_ANY_APPLICATION_POLICY',
'1.3.6.1.4.1.311.10.2' => 'nextUpdateLocation',
'1.3.6.1.4.1.311.10.3.1' => 'certTrustListSigning',
'1.3.6.1.4.1.311.10.3.10' => 'szOID_KP_QUALIFIED_SUBORDINATION',
'1.3.6.1.4.1.311.10.3.11' => 'szOID_KP_KEY_RECOVERY',
'1.3.6.1.4.1.311.10.3.12' => 'szOID_KP_DOCUMENT_SIGNING',
'1.3.6.1.4.1.311.10.3.2' => 'timeStampSigning',
'1.3.6.1.4.1.311.10.3.3' => 'serverGatedCrypto',
'1.3.6.1.4.1.311.10.3.3.1' => 'szOID_SERIALIZED',
'1.3.6.1.4.1.311.10.3.4' => 'encryptedFileSystem',
'1.3.6.1.4.1.311.10.3.4.1' => 'szOID_EFS_RECOVERY',
'1.3.6.1.4.1.311.10.3.5' => 'szOID_WHQL_CRYPTO',
'1.3.6.1.4.1.311.10.3.6' => 'szOID_NT5_CRYPTO',
'1.3.6.1.4.1.311.10.3.7' => 'szOID_OEM_WHQL_CRYPTO',
'1.3.6.1.4.1.311.10.3.8' => 'szOID_EMBEDDED_NT_CRYPTO',
'1.3.6.1.4.1.311.10.3.9' => 'szOID_ROOT_LIST_SIGNER',
'1.3.6.1.4.1.311.10.4.1' => 'yesnoTrustAttr',
'1.3.6.1.4.1.311.10.5.1' => 'szOID_DRM',
'1.3.6.1.4.1.311.10.5.2' => 'szOID_DRM_INDIVIDUALIZATION',
'1.3.6.1.4.1.311.10.6.1' => 'szOID_LICENSES',
'1.3.6.1.4.1.311.10.6.2' => 'szOID_LICENSE_SERVER',
'1.3.6.1.4.1.311.10.7' => 'szOID_MICROSOFT_RDN_PREFIX',
'1.3.6.1.4.1.311.10.7.1' => 'szOID_KEYID_RDN',
'1.3.6.1.4.1.311.10.8.1' => 'szOID_REMOVE_CERTIFICATE',
'1.3.6.1.4.1.311.10.9.1' => 'szOID_CROSS_CERT_DIST_POINTS',
'1.3.6.1.4.1.311.12' => 'Catalog',
'1.3.6.1.4.1.311.12.1.1' => 'szOID_CATALOG_LIST',
'1.3.6.1.4.1.311.12.1.2' => 'szOID_CATALOG_LIST_MEMBER',
'1.3.6.1.4.1.311.12.2.1' => 'CAT_NAMEVALUE_OBJID',
'1.3.6.1.4.1.311.12.2.2' => 'CAT_MEMBERINFO_OBJID',
'1.3.6.1.4.1.311.13' => 'Microsoft PKCS10 OIDs',
'1.3.6.1.4.1.311.13.1' => 'szOID_RENEWAL_CERTIFICATE',
'1.3.6.1.4.1.311.13.2.1' => 'szOID_ENROLLMENT_NAME_VALUE_PAIR',
'1.3.6.1.4.1.311.13.2.2' => 'szOID_ENROLLMENT_CSP_PROVIDER',
'1.3.6.1.4.1.311.13.2.3' => 'OS Version',
'1.3.6.1.4.1.311.15' => 'Microsoft Java',
'1.3.6.1.4.1.311.16' => 'Microsoft Outlook/Exchange',
'1.3.6.1.4.1.311.16.4' => 'Outlook Express',
'1.3.6.1.4.1.311.17' => 'Microsoft PKCS12 attributes',
'1.3.6.1.4.1.311.17.1' => 'szOID_LOCAL_MACHINE_KEYSET',
'1.3.6.1.4.1.311.18' => 'Microsoft Hydra',
'1.3.6.1.4.1.311.19' => 'Microsoft ISPU Test',
'1.3.6.1.4.1.311.2' => 'Authenticode',
'1.3.6.1.4.1.311.2.1.10' => 'spcAgencyInfo',
'1.3.6.1.4.1.311.2.1.11' => 'spcStatementType',
'1.3.6.1.4.1.311.2.1.12' => 'spcSpOpusInfo',
'1.3.6.1.4.1.311.2.1.14' => 'certExtensions',
'1.3.6.1.4.1.311.2.1.15' => 'spcPelmageData',
'1.3.6.1.4.1.311.2.1.18' => 'SPC_RAW_FILE_DATA_OBJID',
'1.3.6.1.4.1.311.2.1.19' => 'SPC_STRUCTURED_STORAGE_DATA_OBJID',
'1.3.6.1.4.1.311.2.1.20' => 'spcLink',
'1.3.6.1.4.1.311.2.1.21' => 'individualCodeSigning',
'1.3.6.1.4.1.311.2.1.22' => 'commercialCodeSigning',
'1.3.6.1.4.1.311.2.1.25' => 'spcLink',
'1.3.6.1.4.1.311.2.1.26' => 'spcMinimalCriteriaInfo',
'1.3.6.1.4.1.311.2.1.27' => 'spcFinancialCriteriaInfo',
'1.3.6.1.4.1.311.2.1.28' => 'spcLink',
'1.3.6.1.4.1.311.2.1.29' => 'SPC_HASH_INFO_OBJID',
'1.3.6.1.4.1.311.2.1.30' => 'SPC_SIPINFO_OBJID',
'1.3.6.1.4.1.311.2.1.4' => 'spcIndirectDataContext',
'1.3.6.1.4.1.311.2.2' => 'CTL for Software Publishers Trusted CAs',
'1.3.6.1.4.1.311.2.2.1' => 'szOID_TRUSTED_CODESIGNING_CA_LIST',
'1.3.6.1.4.1.311.2.2.2' => 'szOID_TRUSTED_CLIENT_AUTH_CA_LIST',
'1.3.6.1.4.1.311.2.2.3' => 'szOID_TRUSTED_SERVER_AUTH_CA_LIST',
'1.3.6.1.4.1.311.20' => 'Microsoft Enrollment Infrastructure',
'1.3.6.1.4.1.311.20.1' => 'szOID_AUTO_ENROLL_CTL_USAGE',
'1.3.6.1.4.1.311.20.2' => 'szOID_ENROLL_CERTTYPE_EXTENSION',
'1.3.6.1.4.1.311.20.2.1' => 'szOID_ENROLLMENT_AGENT',
'1.3.6.1.4.1.311.20.2.2' => 'szOID_KP_SMARTCARD_LOGON',
'1.3.6.1.4.1.311.20.2.3' => 'szOID_NT_PRINCIPAL_NAME',
'1.3.6.1.4.1.311.20.3' => 'szOID_CERT_MANIFOLD',
'1.3.6.1.4.1.311.21' => 'Microsoft CertSrv Infrastructure',
'1.3.6.1.4.1.311.21.1' => 'szOID_CERTSRV_CA_VERSION',
'1.3.6.1.4.1.311.21.20' => 'Client Information',
'1.3.6.1.4.1.311.25' => 'Microsoft Directory Service',
'1.3.6.1.4.1.311.25.1' => 'szOID_NTDS_REPLICATION',
'1.3.6.1.4.1.311.3' => 'Time Stamping',
'1.3.6.1.4.1.311.3.2.1' => 'SPC_TIME_STAMP_REQUEST_OBJID',
'1.3.6.1.4.1.311.30' => 'IIS',
'1.3.6.1.4.1.311.31' => 'Windows updates and service packs',
'1.3.6.1.4.1.311.31.1' => 'szOID_PRODUCT_UPDATE',
'1.3.6.1.4.1.311.4' => 'Permissions',
'1.3.6.1.4.1.311.40' => 'Fonts',
'1.3.6.1.4.1.311.41' => 'Microsoft Licensing and Registration',
'1.3.6.1.4.1.311.42' => 'Microsoft Corporate PKI (ITG)',
'1.3.6.1.4.1.311.88' => 'CAPICOM',
'1.3.6.1.4.1.311.88.1' => 'szOID_CAPICOM_VERSION',
'1.3.6.1.4.1.311.88.2' => 'szOID_CAPICOM_ATTRIBUTE',
'1.3.6.1.4.1.311.88.2.1' => 'szOID_CAPICOM_DOCUMENT_NAME',
'1.3.6.1.4.1.311.88.2.2' => 'szOID_CAPICOM_DOCUMENT_DESCRIPTION',
'1.3.6.1.4.1.311.88.3' => 'szOID_CAPICOM_ENCRYPTED_DATA',
'1.3.6.1.4.1.311.88.3.1' => 'szOID_CAPICOM_ENCRYPTED_CONTENT',
'1.3.6.1.5.5.7' => 'pkix',
'1.3.6.1.5.5.7.1' => 'privateExtension',
'1.3.6.1.5.5.7.1.1' => 'authorityInfoAccess',
'1.3.6.1.5.5.7.12.2' => 'CMC Data',
'1.3.6.1.5.5.7.2' => 'policyQualifierIds',
'1.3.6.1.5.5.7.2.1' => 'cps',
'1.3.6.1.5.5.7.2.2' => 'unotice',
'1.3.6.1.5.5.7.3' => 'keyPurpose',
'1.3.6.1.5.5.7.3.1' => 'serverAuth',
'1.3.6.1.5.5.7.3.2' => 'clientAuth',
'1.3.6.1.5.5.7.3.3' => 'codeSigning',
'1.3.6.1.5.5.7.3.4' => 'emailProtection',
'1.3.6.1.5.5.7.3.5' => 'ipsecEndSystem',
'1.3.6.1.5.5.7.3.6' => 'ipsecTunnel',
'1.3.6.1.5.5.7.3.7' => 'ipsecUser',
'1.3.6.1.5.5.7.3.8' => 'timeStamping',
'1.3.6.1.5.5.7.4' => 'cmpInformationTypes',
'1.3.6.1.5.5.7.4.1' => 'caProtEncCert',
'1.3.6.1.5.5.7.4.2' => 'signKeyPairTypes',
'1.3.6.1.5.5.7.4.3' => 'encKeyPairTypes',
'1.3.6.1.5.5.7.4.4' => 'preferredSymmAlg',
'1.3.6.1.5.5.7.4.5' => 'caKeyUpdateInfo',
'1.3.6.1.5.5.7.4.6' => 'currentCRL',
'1.3.6.1.5.5.7.48.1' => 'ocsp',
'1.3.6.1.5.5.7.48.2' => 'caIssuers',
'1.3.6.1.5.5.8.1.1' => 'HMAC-MD5',
'1.3.6.1.5.5.8.1.2' => 'HMAC-SHA',
'2.16.840.1.101.2.1.1.1' => 'sdnsSignatureAlgorithm',
'2.16.840.1.101.2.1.1.10' => 'mosaicKeyManagementAlgorithm',
'2.16.840.1.101.2.1.1.11' => 'sdnsKMandSigAlgorithm',
'2.16.840.1.101.2.1.1.12' => 'mosaicKMandSigAlgorithm',
'2.16.840.1.101.2.1.1.13' => 'SuiteASignatureAlgorithm',
'2.16.840.1.101.2.1.1.14' => 'SuiteAConfidentialityAlgorithm',
'2.16.840.1.101.2.1.1.15' => 'SuiteAIntegrityAlgorithm',
'2.16.840.1.101.2.1.1.16' => 'SuiteATokenProtectionAlgorithm',
'2.16.840.1.101.2.1.1.17' => 'SuiteAKeyManagementAlgorithm',
'2.16.840.1.101.2.1.1.18' => 'SuiteAKMandSigAlgorithm',
'2.16.840.1.101.2.1.1.19' => 'mosaicUpdatedSigAlgorithm',
'2.16.840.1.101.2.1.1.2' => 'mosaicSignatureAlgorithm',
'2.16.840.1.101.2.1.1.20' => 'mosaicKMandUpdSigAlgorithms',
'2.16.840.1.101.2.1.1.21' => 'mosaicUpdatedIntegAlgorithm',
'2.16.840.1.101.2.1.1.22' => 'mosaicKeyEncryptionAlgorithm',
'2.16.840.1.101.2.1.1.3' => 'sdnsConfidentialityAlgorithm',
'2.16.840.1.101.2.1.1.4' => 'mosaicConfidentialityAlgorithm',
'2.16.840.1.101.2.1.1.5' => 'sdnsIntegrityAlgorithm',
'2.16.840.1.101.2.1.1.6' => 'mosaicIntegrityAlgorithm',
'2.16.840.1.101.2.1.1.7' => 'sdnsTokenProtectionAlgorithm',
'2.16.840.1.101.2.1.1.8' => 'mosaicTokenProtectionAlgorithm',
'2.16.840.1.101.2.1.1.9' => 'sdnsKeyManagementAlgorithm',
'2.16.840.1.113730.1' => 'cert-extension',
'2.16.840.1.113730.1.1' => 'netscape-cert-type',
'2.16.840.1.113730.1.10' => 'EntityLogo',
'2.16.840.1.113730.1.11' => 'UserPicture',
'2.16.840.1.113730.1.12' => 'netscape-ssl-server-name',
'2.16.840.1.113730.1.13' => 'netscape-comment',
'2.16.840.1.113730.1.2' => 'netscape-base-url',
'2.16.840.1.113730.1.3' => 'netscape-revocation-url',
'2.16.840.1.113730.1.4' => 'netscape-ca-revocation-url',
'2.16.840.1.113730.1.7' => 'netscape-cert-renewal-url',
'2.16.840.1.113730.1.8' => 'netscape-ca-policy-url',
'2.16.840.1.113730.1.9' => 'HomePage-url',
'2.16.840.1.113730.2' => 'data-type',
'2.16.840.1.113730.2.1' => 'GIF',
'2.16.840.1.113730.2.2' => 'JPEG',
'2.16.840.1.113730.2.3' => 'URL',
'2.16.840.1.113730.2.4' => 'HTML',
'2.16.840.1.113730.2.5' => 'netscape-cert-sequence',
'2.16.840.1.113730.2.6' => 'netscape-cert-url',

There does seem to be a web resource which collates it form as many registering authorities as possible.
This is:- http://www.oid-info.com
From their webpage:
The OID Resolution System (ORS) was developed from 2004 onwards, and allows an application to obtain (online) application-specific information related to any node identified by an OID.
The ORS enables any one of the OID nodes to be mapped into DNS name zone files, and information about it can be obtained by a DNS look-up for further application processing. The system was initially designed to support RFID tag activity, but also has applications in many other application areas.

Related

Muliple Dropdown Select option in Drupal8 Custom Form

I have to design the form with following fields
Country
State
District
If you select Country the Country value will be loaded in the Country Dropdown Field
Then if you select State the States belongs to Countries value will be loaded in the State Dropdown.
After that If you select District the Districts value belongs to States will be loaded in the District Dropdown field.
I have tried but not work properly
$form['Country'] = [
'#type' => 'select',
'#title' => t('Country'),
'#description' => t('Country'),
'#required' => TRUE,
'#options' => $countries,
// '#default_value' => setInConfigandGEtVAlue,
'#ajax' => ['callback' => [$this, 'getStates'], 'event' => 'change',
'method' => 'html',
'wrapper' => 'states-to-update',
'progress' => [
'type' => 'throbber',
'message' => NULL,
],
],
];
$states = [];
// if($default_country != "") { load default states of selected country by get the default va
lue of country (setInConfigandGEtVAlue)
// $states = $this->getStatesByCountry($default_country);
// }
$form['state'] = array(
'#title' => t('State'),
'#type' => 'select',
'#description' => t('Select the state'),
'#options' => $states,
// '#default_value' => setInConfigandGEtVAlue,
'#attributes' => ["id" => 'states-to-update'],
'#multiple' => TRUE,
'#validated' => TRUE
);
$district_opt_records = [];
$form['districts'] = array(
'#type' => 'select',
'#title' => t('District Name'),
'#options' => $district_opt_records,
'#required' => TRUE,
'#attributes' => ["id" => 'district-to-update'],
'#validated' => TRUE,);
public function getStates(array &$element, FormStateInterface $form_state) {
$triggeringElement = $form_state->getTriggeringElement();
$value = $triggeringElement['#value'];
$states = $this->getStatesByCountry($value);
$wrapper_id = $triggeringElement["#ajax"]["wrapper"];
$renderedField = '';
foreach ($states as $key => $value) {
$renderedField .= "<option value='".$key."'>".$value."</option>";
}
$response = new AjaxResponse();
$response->addCommand(new HtmlCommand("#".$wrapper_id, $renderedField));
return $response;
}
public function getStatesByCountry($default_country) {
//add you logic return states by country
return $states;
}
The above code working only Countries and State but not able to get District values

try/catch-block without any effect

As I assume, try/catch should perform code which is defined in catch-block,if there is any error in try-block,correct?
Following code won't do that.It will be thrown out error-in this case:
Getting unknown property: common\modules\lookup\models\LAnrede::anreden
Any ideas,how to fix this respectively what I did wrong?
<?php
use yii\helpers\Html;
use frontend\modules\bewerber\models\Bewerber;
use common\modules\basis\models\Person;
use common\modules\lookup\models\LAnrede;
use yii\base\ErrorException;
use kartik\widgets\Alert;
try {
$query_one = LAnrede::find()->innerJoin('Person', 'l_anrede.id = Person.id_anrede')->one();
$query_all = LAnrede::find()->innerJoin('Person', 'l_anrede.id = Person.id_anrede')->all();
var_dump($query_one);
var_dump($query_all);
echo"<h3>Anrede_one:" . $query_one->anrede . "</h3>";
$x = 1;
foreach ($query_all as $attributes) {
echo "<br><label>Anrede_all_$x:<br>" . $attributes->anreden . "</label>";
$x++;
}
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
?>
A hint for ponury-kostek:
I programmed in class LAnrede for each method try/catch-Block. No effect!
Here is model/class LAnrede
<?php
namespace common\modules\lookup\models\base;
use Yii;
use yii\behaviors\TimestampBehavior;
use yii\behaviors\BlameableBehavior;
use mootensai\behaviors\UUIDBehavior;
use yii\base\ErrorException;
use kartik\widgets\Alert;
/**
* This is the base model class for table "l_anrede".
*
* #property integer $id
* #property string $anrede
*
* #property \common\modules\lookup\models\Person[] $people
*/
class LAnrede extends \yii\db\ActiveRecord {
use \mootensai\relation\RelationTrait;
/**
* This function helps \mootensai\relation\RelationTrait runs faster
* #return array relation names of this model
*/
public function relationNames() {
try {
return [
'people'
];
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
* #inheritdoc
*/
public function rules() {
try {
return [
[['anrede'], 'string', 'max' => 255],
[['optimistic_lock'], 'default', 'value' => '0'],
[['optimistic_lock'], 'mootensai\components\OptimisticLockValidator']
];
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
* #inheritdoc
*/
public static function tableName() {
try {
return 'l_anrede';
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
*
* #return string
* overwrite function optimisticLock
* return string name of field are used to stored optimistic lock
*
*/
public function optimisticLock() {
try {
return 'optimistic_lock';
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
* #inheritdoc
*/
public function attributeLabels() {
try {
return [
'id' => Yii::t('app', 'ID'),
'anrede' => Yii::t('app', 'Anrede'),
];
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
* #return \yii\db\ActiveQuery
*/
public function getPeople() {
try {
return $this->hasMany(\common\modules\basis\models\Person::className(), ['id_anrede' => 'id']);
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
public function behaviors() {
try {
return [
'timestamp' => [
'class' => TimestampBehavior::className(),
'createdAtAttribute' => 'angelegt_am',
'updatedAtAttribute' => 'aktualisiert_am',
'value' => new \yii\db\Expression('NOW()'),
],
'blameable' => [
'class' => BlameableBehavior::className(),
'createdByAttribute' => 'angelegt_von',
'updatedByAttribute' => 'aktualisiert_von',
],
'uuid' => [
'class' => UUIDBehavior::className(),
'column' => 'id',
],
];
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
/**
* #inheritdoc
* #return \common\modules\lookup\models\LAnredeQuery the active query used by this AR class.
*/
public static function find() {
try {
return new \common\modules\lookup\models\LAnredeQuery(get_called_class());
} catch (ErrorException $error) { //fange den schweren MySQL-Fehler ab
echo Alert::widget([//informiere den Anwender,daß kein Datensatz gefunden wurde
'type' => Alert::TYPE_DANGER,
'title' => 'Konfigurationsfehler',
'icon' => 'glyphicon glyphicon-remove-sign',
'body' => 'Dem angemeldeten User ist in der Mitarbeitertabelle kein Mitarbeiter zugeordnet<br><br>' . $error,
'showSeparator' => true,
'delay' => false
]);
}
}
}
In your try block youre using $attributes->anreden. Propably there's no column with this name in your database (or you still have db cache). Pointing to the question, why try/catch didn't worked - because youre trying to catch wrong exception. Youre trying to catch yii\base\ErrorException, but it's 'yii\base\UnknownPropertyException exception. To handle it right, you should catch 'all-in-one' or expand your catch block:
All in one:
} catch(\Exception $error) {
Expanded:
} catch (ErrorException $error) {
// do some stuff here
} catch (\yii\base\UnknownPropertyException $error) {
// do some another stuff here
} catch (\Exception $error) {
// do some stuff with any other exceptions
}
It's because line that causes error use common\modules\lookup\models\LAnrede; is outside try/catch block.
More precisely you have error in file that is imported by common\modules\lookup\models\LAnrede that's why try/catch block can't
catch error. Fix error in LAnrede.

CakePHP throws validation error for fields which are not in the request

I understood the CakePHP validation that way: Only fields which are in the request (e.g. ['Post']['NAME'] and ['Post']['STREET']) are validated in the appmodel, even if in the appmodel there are declarations for many more fields.
Now I call this->Post->save($this->request->data) and Cake throws validation errors for fields which are not in the request and now I don´t know what to do.
Controller:
debug of this->request->data:
array(
'Post' => array(
'TYPE' => '1',
'B/S' => 'S',
'LATITUDE' => '50.98549',
'LONGITUDE' => '11.31551',
'CART' => 'jkl',
'MARKET' => 'jk',
'INCOMETYPE' => '1',
'INCOME' => '8',
'DEADLINE' => '1',
'DATE' => '31.08.2014',
'TIME' => '',
'PREFERREDDATES' => 'nach Absprache',
'address' => 'Fuldaer Straße, 99423, Weimar',
'STREET' => 'Fuldaer Straße',
'DELIVERYAREA' => '99423',
'CITY' => 'Weimar',
'TEL' => '1234567654321',
'saveAppendix' => 'edit'
)
)
Controller:
debug of $this->Post-validationErrors:
array(
'ZIPCODE' => array(
(int) 0 => 'Bitte eine gültige Postleitzahl eingeben.'
),
'VEHICLE' => array(
(int) 0 => 'Bitte das Fahrzeug angeben'
),
'SPACE' => array(
(int) 0 => 'Bitte den verfügbaren Platz angeben'
)
)
Controller:
Code with debug-statements:
if (isset($this->request->data['Post']['saveAppendix']) && $this->request->data['Post']['saveAppendix'] == "edit") {
debug($this->request->data);
if ($this->Post->save($this->request->data)) {
$this->Session->setFlash('Dein Inserat wurde erfolgreich bearbeitet.', 'flash_success');
$this->set('action', 'goToIndex');
$this->render('addRedirect', 'ajax');
} else {
debug($this->Post->validationErrors);
...further code...
}
}
EDIT
As requested by burzum, the validation rules:
class Post extends AppModel {
public function beforeValidate(array $options = array()) {
$request = $this->data[$this->alias];
if (isset($request['INCOMETYPE']) && ($request['INCOMETYPE'] == "1" || isset($request['INCOMETYPE']) && $request['INCOMETYPE'] == "2")) {
$this->data[$this->alias]['INCOME'] = preg_replace(
'/^([^,]*).*$/', '$1', $request['INCOME']
);
$this->data[$this->alias]['INCOME'] = preg_replace(
'/\D/', '', $request['INCOME']
);
};
//für validation die schaltungsart-variablen setzen
if (isset($request['DEADLINE']) && $request['DEADLINE'] == "1") {
$this->validator()->remove('TIME');
$date = $request['DATE'];
};
if (isset($request['DEADLINE']) && $request['DEADLINE'] == "2") {
$this->validator()->remove('PREFERREDDATES');
$date = $request['DATE'];
};
if (isset($request['DEADLINE']) && $request['DEADLINE'] == "3") {
$this->validator()->remove('DATE');
$this->validator()->remove('TIME');
};
if (isset($date) && $date <> "") {
//datepicker date in sortierbares datum wandeln: Y M D
$tmpdate = list($day, $month, $year) = explode('.', $date);
$altdate = $year.$month.$day;
$this->data[$this->alias]['ALTDATE'] = $altdate;
};
if (isset($request['INCOMETYPE']) && $request['INCOMETYPE'] == "4") {
$this->validator()->remove('INCOME');
};
if (isset($request['INCOMETYPE']) && $request['INCOMETYPE'] == "5") {
$this->validator()->remove('INCOME');
};
// B/S-Feld füllen mit entsprechendem String
if (isset($request['TYPE']) && isset($request['B/S'])) {
if ($request['TYPE'] == 1 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Kurier";
};
if ($request['TYPE'] == 2 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Bildungsdienstleistung";
};
if ($request['TYPE'] == 3 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Elektronik & Technik";
};
if ($request['TYPE'] == 4 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Freizeit & Sport";
};
if ($request['TYPE'] == 5 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Haushalt und Garten";
};
if ($request['TYPE'] == 6 && $request['B/S'] == "S") {
$this->data[$this->alias]['B/S'] = "Suche Soziales";
};
if ($request['TYPE'] == 1 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Kurier";
};
if ($request['TYPE'] == 2 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Bildungsdienstleistung";
};
if ($request['TYPE'] == 3 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Elektronik & Technik";
};
if ($request['TYPE'] == 4 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Freizeit & Sport";
};
if ($request['TYPE'] == 5 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Haushalt & Garten";
};
if ($request['TYPE'] == 6 && $request['B/S'] == "B") {
$this->data[$this->alias]['B/S'] = "Biete Soziales";
};
};
//inserat-datum darf nicht in vergangenheit liegen
/*if ($request['DATE'] == date("d.m.Y") && $request['TIME'] < date("H:i")) {
unset($this->data[$this->alias]['TIME']);
};*/
return parent::beforeValidate($options);
}
var $validate = array(
'STREET' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Hidden input B/S wurde geändert'
),
'rule-2' => array(
'rule' => '/^[a-z]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'STREET' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte eine Straße angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'HOUSENUMBER' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte eine Hausnummer angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'ZIPCODE' => array(
'rule-1' => array(
'rule' => array('postal', null, 'de'),
'message' => 'Bitte eine gültige Postleitzahl eingeben.',
'last' => true
),
'rule-2' => array(
'rule' => array('ZipExists'),
'message' => 'Postleitzahl existiert nicht!'
)
),
'CITY' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte eine Stadt angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'CART' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte etwas eingeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'MISC' => array(
'rule-1' => array(
'allowEmpty' => true
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'MARKET' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte einen Markt angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'DATE' => array(
'rule' => 'notEmpty',
'required' => 'true',
'message' => 'Bitte das Datum eingeben'
),
'PREFERREDDATES' => array(
'rule' => 'notEmpty',
'required' => 'true',
'message' => 'Bitte die passenden Zeiten eingeben'
),
'DEADLINE' => array(
'rule' => 'notEmpty',
'required' => 'true',
'message' => 'Bitte die Art der Schaltung festlegen'
),
'TIME' => array(
'rule' => 'time',
'required' => 'true',
'message' => 'Bitte die Zeit eingeben'
),
'INCOME' => array(
'rule' => 'notEmpty',
'required' => 'true',
'message' => 'Bitte die Bezahlung eingeben'
),
/*'INCOME' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte die Bezahlung angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),*/
'INCOMETYPE' => array(
'rule' => 'notEmpty',
'required' => 'true',
'message' => 'Bitte die Art der Bezahlung festlegen'
),
'VEHICLE' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte das Fahrzeug angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'DELIVERYAREA' => array(
'rule-1' => array(
'rule' => array('postal', null, 'de'),
'message' => 'Bitte eine gültige Postleitzahl eingeben.',
'last' => true
),
'rule-2' => array(
'rule' => array('ZipExists'),
'message' => 'Postleitzahl existiert nicht!'
)
),
'SPACE' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte den verfügbaren Platz angeben'
),
'rule-2' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{1,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'TEL' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte die Telefonnummer eingeben'
),
'rule-2' => array(
'rule' => '/^[0-9_\/\d\w\s?!\.:,\'"\(\)=\+-]{0,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
)
),
'NAME' => array(
'rule' => '/^[a-z0-9_äÄöÖüÜߧ$%&*\/\d\w\s?!\.:,\'"\(\)=\+-]{0,}$/i',
'message' => 'Hacker kommen hier nicht weit!'
),
'LATITUDE' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte gültige Adresse angeben'
),
'rule-2' => array(
'rule' => 'numeric',
'message' => 'Bitte gültige Adresse angeben'
)
),
'LONGITUDE' => array(
'rule-1' => array(
'rule' => 'notEmpty',
'message' => 'Bitte gültige Adresse angeben'
),
'rule-2' => array(
'rule' => 'numeric',
'message' => 'Bitte gültige Adresse angeben'
)
),
'TYPE' => array(
'rule-1' => array(
'rule' => 'numeric'
),
'rule-2' => array(
'rule' => array('maxLength', 1)
)
)
);
public function ZipExists($zipcode){
$value = array_values($zipcode);
$value = $value[0];
$Zipcode = ClassRegistry::init('Zipcode');
$valid = $Zipcode->find('count', array('conditions'=> array('Zipcode.zipcode' =>$value)));
if ($valid >= 1){
return true;
}
else{
return false;
}
}
};
If i understand you correctly, than you got it all wrong.
cake will validate everything that is in the validation rules, and required. keep in mind that omitting a field, might be a validation error for itself..
edit:
Validation works in the context of the model, not the request. it validates the data that will be saved to the database, against the validation rules.
The meaning is: it will compare the POST data to the rules.
and, if a field is required in the validation-rules, it will throw an error.
Please attach the validation errors

CakePHP email configuration

I want to use CakePHP Email to send emails to users with new passwords when a user has forgotten their password. If the user has forgotten their password they will be required to enter their username and corresponding email. The system will check if the username and email match in the database and if so create a random password and send it to the users email account. I'm a beginner and I'm not sure if I'm doing it properly. My code is as follows:
employeesController:
<?php
App::uses('AppController', 'Controller');
App::uses('SimplePasswordHasher', 'Controller/Component/Auth');
App::uses('CakeEmail', 'Network/Email');
class EmployeesController extends AppController {
//some code
public function forgotpassword()
{
$username=$this->request->data['fusername'];
//App::uses('SimplePasswordHasher', 'Controller/Component/Auth');
//$passwordHasher = new SimplePasswordHasher();
//$password = $passwordHasher->hash($this->request->data['password']);
$emailaddress=$this->request->data['emailadd'];
$msg = $this->Employee->getUserPassword($username,$emailaddress);
if($msg)
{
foreach ($msg as $userdetails)
{
$userhashedpass=$userdetails['Employee']['employee_pw'];//see access level here
$userid=$userdetails['Employee']['id'];
$useremail=$userdetails['Employee']['employee_email'];
}
$newpassword="$userhashedpass[0]$userhashedpass[4]$userhashedpass[13]$userhashedpass[8]$userhashedpass[11]$userhashedpass[12]";
//send email
$Email = new CakeEmail();
$Email->from(array('anuja_f#hotmail.com' => 'CentreVision CRM'))
->to($useremail)
->subject('New Password')
->send('Your new password is $newpassword ');
/* $to = $useremail;
$subject = "Your New Password";
$txt = "Your new password is $newpassword ";
$headers = "From: admin#centervision.com" . "\r\n";
*/
//send email to the employee
// $reply=$this->Employee->updatenewpassword($username,$emailaddress,$newpassword);
$data = array('id' => $userid, 'employee_pw' => $newpassword);
// This will update Recipe with id 10
$this->Employee->save($data);
//$this->set('msg',$userhashedpass);
//$this->set('newpassword',$newpassword);
$errormsg="Email has been sent to registered email address linked to this username";
//comment out next line to not display the new password on the screen once smtp is configured
$this->set('newpassword',$newpassword);
$this->set('errorfor',$errormsg);
$this->render("../Pages/home");
$this->layout = '../Pages/home';
}
else{
$errormsg="Username and Email does not match";
$this->set('errorfor',$errormsg);
$this->render("../Pages/home");
$this->layout = '../Pages/home';
}
}
//some code
}
And my app/config/email.php:
class EmailConfig {
public $default = array(
'transport' => 'Mail',
'from' => 'anuja_f#hotmail.com',
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
public $smtp = array(
'transport' => 'Smtp',
'from' => array('site#localhost' => 'My Site'),
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
public $fast = array(
'from' => 'you#localhost',
'sender' => null,
'to' => null,
'cc' => null,
'bcc' => null,
'replyTo' => null,
'readReceipt' => null,
'returnPath' => null,
'messageId' => true,
'subject' => null,
'message' => null,
'headers' => null,
'viewRender' => null,
'template' => false,
'layout' => false,
'viewVars' => null,
'attachments' => null,
'emailFormat' => null,
'transport' => 'Smtp',
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'log' => true,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
}
At the moment when I enter username and email i get the following error:
mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Can someone please help me?
just you need use one configuration:
$Email = new CakeEmail();
$Email->config('default');
or in your case:
$Email = new CakeEmail();
$Email->config('smtp');
or if you want to user a gmail:
$Email = new CakeEmail();
$Email->config('gmail');
and the configuration:
class EmailConfig {
/*public $default = array(
'transport' => 'Mail',
'from' => 'you#localhost',
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);
public $smtp = array(
'transport' => 'Smtp',
'from' => array('soyazucar#localhost' => 'Test Site'),
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'log' => false,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);*/
public $gmail = array(
'host' => 'ssl://smtp.gmail.com',
'port' => 465,
'username' => 'guesss#gmail.com',
'password' => 'password',
'transport' => 'Smtp'
);
/*public $fast = array(
'from' => 'contreras.amilkar#gmail.com',
'sender' => null,
'to' => null,
'cc' => null,
'bcc' => null,
'replyTo' => null,
'readReceipt' => null,
'returnPath' => null,
'messageId' => true,
'subject' => null,
'message' => null,
'headers' => null,
'viewRender' => null,
'template' => false,
'layout' => false,
'viewVars' => null,
'attachments' => null,
'emailFormat' => null,
'transport' => 'Smtp',
'host' => 'localhost',
'port' => 25,
'timeout' => 30,
'username' => 'user',
'password' => 'secret',
'client' => null,
'log' => true,
//'charset' => 'utf-8',
//'headerCharset' => 'utf-8',
);*/
}

symfony 1.4 validation form bind problem

I have some problem with validation forms in symfony 1.4
Here is code:
class NormalForm extends sfForm
{
public function configure()
{
$this->setWidgets(array(
'name' => new sfWidgetFormInput(),
'phone' => new sfWidgetFormInput(),
'terms' => new sfWidgetFormInputCheckbox(array('value_attribute_value' => 1, 'default' => true))
));
$this->widgetSchema->setNameFormat('results[%s]');
$this->setValidators(array(
'name' => new sfValidatorString(array('required' => true), array('required' => 'This field may not by empty')),
'phone' => new sfValidatorNumber(array('min' => 100000000), array('required' => 'This field may not by empty','min' => 'To short','invalid' => 'Not a number')),
'terms' => new sfValidatorBoolean(array('required' => true), array('required' => 'Accept the regulations'))
));
}
}
class homeActions extends sfActions
{
public function executeIndex(sfWebRequest $request)
{
$this->nform = new NormalForm();
$this->module_action = "/".$this->moduleName."/".$this->actionName;
$this->name = $request->getPostParameter('results[name]');
$this->phone = $request->getPostParameter('results[phone]');
$this->foo = $request->getPostParameter('results');
if($request->isMethod('post')){
$this->message .= 'post ';
$this->nform->bind($request->getParameter('results'));
if($this->nform->isValid()){
$this->message .= 'is valid';
$this->save = 'save';
}
}
}
}
This is here: http://nowa.hipotekaplus.pl
When form is valid then should this text show:
<h1>Zgłoszenie zarejestrowano 1</h1>
<p>Dziękujemy za przesłanie zgłoszenia.
Twój osobisty doradca na telefon z pewnością zadzwoni w ciągu 24 godzin (w dni robocze).
Zgłoszenia obsługują doradcy kredytowi na telefon Hipotekaplus.pl.</p>
Can somebody tell me why this not work ?