-- Module SelectedObjectClasses (X.521:08/1997)
-- See also ITU-T X.521 (08/1997)
-- See also the index of all ASN.1 assignments needed in this document

SelectedObjectClasses {joint-iso-itu-t ds(5) module(1) selectedObjectClasses(6)
  3} DEFINITIONS ::=
BEGIN

--  EXPORTS All 
--  The types and values defined in this module are exported for use in the other ASN.1 modules contained 
--  within the Directory Specifications, and for the use of other applications which will use them to access 
--  Directory services. Other applications may use them for their own purposes, but this will not constrain
--  extensions and modifications needed to maintain or improve the Directory service.
IMPORTS
  objectClass, informationFramework, authenticationFramework,
    selectedAttributeTypes, certificateExtensions, id-oc, id-nf
    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
      usefulDefinitions(0) 3}
  OBJECT-CLASS, ATTRIBUTE, NAME-FORM, top, alias
    FROM InformationFramework informationFramework
  businessCategory, commonName, countryName, description, destinationIndicator,
    facsimileTelephoneNumber, internationalISDNNumber, knowledgeInformation,
    localityName, member, organizationName, organizationalUnitName, owner,
    physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode,
    preferredDeliveryMethod, presentationAddress, registeredAddress,
    roleOccupant, searchGuide, seeAlso, serialNumber, stateOrProvinceName,
    streetAddress, supportedApplicationContext, surname, telephoneNumber,
    telexNumber, title, uniqueMember, x121Address, dmdName
    FROM SelectedAttributeTypes selectedAttributeTypes
  authorityRevocationList, cACertificate, certificateRevocationList,
    crossCertificatePair, userCertificate, userPassword
    FROM AuthenticationFramework authenticationFramework
  supportedAlgorithms, deltaRevocationList
    FROM CertificateExtensions certificateExtensions;

--  Attribute sets 
TelecommunicationAttributeSet ATTRIBUTE ::=
  {facsimileTelephoneNumber | internationalISDNNumber | telephoneNumber |
    --	teletexTerminalIdentifier | 	Attribute type has been deleted
   telexNumber | preferredDeliveryMethod | destinationIndicator |
   registeredAddress | x121Address}

PostalAttributeSet ATTRIBUTE ::=
  {physicalDeliveryOfficeName | postalAddress | postalCode | postOfficeBox |
   streetAddress}

LocaleAttributeSet ATTRIBUTE ::=
  {localityName | stateOrProvinceName | streetAddress}

OrganizationalAttributeSet ATTRIBUTE ::=
  {description | LocaleAttributeSet | PostalAttributeSet |
   TelecommunicationAttributeSet | businessCategory | seeAlso | searchGuide |
   userPassword}

--  Object classes 
country OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {countryName}
  MAY CONTAIN   {description | searchGuide}
  ID            id-oc-country
}

locality OBJECT-CLASS ::= {
  SUBCLASS OF  {top}
  MAY CONTAIN  {description | searchGuide | LocaleAttributeSet | seeAlso}
  ID           id-oc-locality
}

organization OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {organizationName}
  MAY CONTAIN   {OrganizationalAttributeSet}
  ID            id-oc-organization
}

organizationalUnit OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {organizationalUnitName}
  MAY CONTAIN   {OrganizationalAttributeSet}
  ID            id-oc-organizationalUnit
}

person OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName | surname}
  MAY CONTAIN   {description | telephoneNumber | userPassword | seeAlso}
  ID            id-oc-person
}

organizationalPerson OBJECT-CLASS ::= {
  SUBCLASS OF  {person}
  MAY CONTAIN
    {LocaleAttributeSet | PostalAttributeSet | TelecommunicationAttributeSet |
      organizationalUnitName | title}
  ID           id-oc-organizationalPerson
}

organizationalRole OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName}
  MAY CONTAIN
    {description | LocaleAttributeSet | organizationalUnitName |
      PostalAttributeSet | preferredDeliveryMethod | roleOccupant | seeAlso |
      TelecommunicationAttributeSet}
  ID            id-oc-organizationalRole
}

groupOfNames OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName | member}
  MAY CONTAIN
    {description | organizationName | organizationalUnitName | owner | seeAlso
      | businessCategory}
  ID            id-oc-groupOfNames
}

groupOfUniqueNames OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName | uniqueMember}
  MAY CONTAIN
    {description | organizationName | organizationalUnitName | owner | seeAlso
      | businessCategory}
  ID            id-oc-groupOfUniqueNames
}

residentialPerson OBJECT-CLASS ::= {
  SUBCLASS OF   {person}
  MUST CONTAIN  {localityName}
  MAY CONTAIN
    {LocaleAttributeSet | PostalAttributeSet | preferredDeliveryMethod |
      TelecommunicationAttributeSet | businessCategory}
  ID            id-oc-residentialPerson
}

applicationProcess OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName}
  MAY CONTAIN   {description | localityName | organizationalUnitName | seeAlso}
  ID            id-oc-applicationProcess
}

applicationEntity OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName | presentationAddress}
  MAY CONTAIN
    {description | localityName | organizationName | organizationalUnitName |
      seeAlso | supportedApplicationContext}
  ID            id-oc-applicationEntity
}

dSA OBJECT-CLASS ::= {
  SUBCLASS OF  {applicationEntity}
  MAY CONTAIN  {knowledgeInformation}
  ID           id-oc-dSA
}

device OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {commonName}
  MAY CONTAIN
    {description | localityName | organizationName | organizationalUnitName |
      owner | seeAlso | serialNumber}
  ID            id-oc-device
}

strongAuthenticationUser OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  KIND          auxiliary
  MUST CONTAIN  {userCertificate}
  ID            id-oc-strongAuthenticationUser
}

userSecurityInformation OBJECT-CLASS ::= {
  SUBCLASS OF  {top}
  KIND         auxiliary
  MAY CONTAIN  {supportedAlgorithms}
  ID           id-oc-userSecurityInformation
}

certificationAuthority OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  KIND          auxiliary
  MUST CONTAIN
    {cACertificate | certificateRevocationList | authorityRevocationList}
  MAY CONTAIN   {crossCertificatePair}
  ID            id-oc-certificationAuthority
}

certificationAuthority-V2 OBJECT-CLASS ::= {
  SUBCLASS OF  {certificationAuthority}
  KIND         auxiliary
  MAY CONTAIN  {deltaRevocationList}
  ID           id-oc-certificationAuthority-V2
}

cRLDistributionPoint OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  KIND          structural
  MUST CONTAIN  {commonName}
  MAY CONTAIN
    {certificateRevocationList | authorityRevocationList | deltaRevocationList}
  ID            id-oc-cRLDistributionPoint
}

dMD OBJECT-CLASS ::= {
  SUBCLASS OF   {top}
  MUST CONTAIN  {dmdName}
  MAY CONTAIN   {OrganizationalAttributeSet}
  ID            id-oc-dmd
}

--  Name forms 
countryNameForm NAME-FORM ::= {
  NAMES            country
  WITH ATTRIBUTES  {countryName}
  ID               id-nf-countryNameForm
}

locNameForm NAME-FORM ::= {
  NAMES            locality
  WITH ATTRIBUTES  {localityName}
  ID               id-nf-locNameForm
}

sOPNameForm NAME-FORM ::= {
  NAMES            locality
  WITH ATTRIBUTES  {stateOrProvinceName}
  ID               id-nf-sOPNameForm
}

orgNameForm NAME-FORM ::= {
  NAMES            organization
  WITH ATTRIBUTES  {organizationName}
  ID               id-nf-orgNameForm
}

orgUnitNameForm NAME-FORM ::= {
  NAMES            organizationalUnit
  WITH ATTRIBUTES  {organizationalUnitName}
  ID               id-nf-orgUnitNameForm
}

personNameForm NAME-FORM ::= {
  NAMES            person
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-personNameForm
}

orgPersonNameForm NAME-FORM ::= {
  NAMES            organizationalPerson
  WITH ATTRIBUTES  {commonName}
  AND OPTIONALLY   {organizationalUnitName}
  ID               id-nf-orgPersonNameForm
}

orgRoleNameForm NAME-FORM ::= {
  NAMES            organizationalRole
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-orgRoleNameForm
}

gONNameForm NAME-FORM ::= {
  NAMES            groupOfNames
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-gONNameForm
}

resPersonNameForm NAME-FORM ::= {
  NAMES            residentialPerson
  WITH ATTRIBUTES  {commonName}
  AND OPTIONALLY   {streetAddress}
  ID               id-nf-resPersonNameForm
}

applProcessNameForm NAME-FORM ::= {
  NAMES            applicationProcess
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-applProcessNameForm
}

applEntityNameForm NAME-FORM ::= {
  NAMES            applicationEntity
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-applEntityNameForm
}

dSANameForm NAME-FORM ::= {
  NAMES            dSA
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-dSANameForm
}

deviceNameForm NAME-FORM ::= {
  NAMES            device
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-deviceNameForm
}

cRLDistPtNameForm NAME-FORM ::= {
  NAMES            cRLDistributionPoint
  WITH ATTRIBUTES  {commonName}
  ID               id-nf-cRLDistPtNameForm
}

dMDNameForm NAME-FORM ::= {
  NAMES            dMD
  WITH ATTRIBUTES  {dmdName}
  ID               id-nf-dMDNameForm
}

--  Object identifier assignments 
--  object identifiers assigned in other modules are shown in comments
--  Object classes 
--  id-oc-top   				OBJECT IDENTIFIER	::=	{id-oc 0}
--  id-oc-alias				OBJECT IDENTIFIER	::=	{id-oc 0}
id-oc-country OBJECT IDENTIFIER ::=
  {id-oc 2}

id-oc-locality OBJECT IDENTIFIER ::= {id-oc 3}

id-oc-organization OBJECT IDENTIFIER ::= {id-oc 4}

id-oc-organizationalUnit OBJECT IDENTIFIER ::= {id-oc 5}

id-oc-person OBJECT IDENTIFIER ::= {id-oc 6}

id-oc-organizationalPerson OBJECT IDENTIFIER ::= {id-oc 7}

id-oc-organizationalRole OBJECT IDENTIFIER ::= {id-oc 8}

id-oc-groupOfNames OBJECT IDENTIFIER ::= {id-oc 9}

id-oc-residentialPerson OBJECT IDENTIFIER ::= {id-oc 10}

id-oc-applicationProcess OBJECT IDENTIFIER ::= {id-oc 11}

id-oc-applicationEntity OBJECT IDENTIFIER ::= {id-oc 12}

id-oc-dSA OBJECT IDENTIFIER ::= {id-oc 13}

id-oc-device OBJECT IDENTIFIER ::= {id-oc 14}

id-oc-strongAuthenticationUser OBJECT IDENTIFIER ::= {id-oc 15}

id-oc-certificationAuthority OBJECT IDENTIFIER ::= {id-oc 16}

id-oc-certificationAuthority-V2 OBJECT IDENTIFIER ::= {id-oc 16 2}

id-oc-groupOfUniqueNames OBJECT IDENTIFIER ::= {id-oc 17}

id-oc-userSecurityInformation OBJECT IDENTIFIER ::= {id-oc 18}

id-oc-cRLDistributionPoint OBJECT IDENTIFIER ::= {id-oc 19}

id-oc-dmd OBJECT IDENTIFIER ::= {id-oc 20}

--  Name forms 
id-nf-countryNameForm OBJECT IDENTIFIER ::= {id-nf 0}

id-nf-locNameForm OBJECT IDENTIFIER ::= {id-nf 1}

id-nf-sOPNameForm OBJECT IDENTIFIER ::= {id-nf 2}

id-nf-orgNameForm OBJECT IDENTIFIER ::= {id-nf 3}

id-nf-orgUnitNameForm OBJECT IDENTIFIER ::= {id-nf 4}

id-nf-personNameForm OBJECT IDENTIFIER ::= {id-nf 5}

id-nf-orgPersonNameForm OBJECT IDENTIFIER ::= {id-nf 6}

id-nf-orgRoleNameForm OBJECT IDENTIFIER ::= {id-nf 7}

id-nf-gONNameForm OBJECT IDENTIFIER ::= {id-nf 8}

id-nf-resPersonNameForm OBJECT IDENTIFIER ::= {id-nf 9}

id-nf-applProcessNameForm OBJECT IDENTIFIER ::= {id-nf 10}

id-nf-applEntityNameForm OBJECT IDENTIFIER ::= {id-nf 11}

id-nf-dSANameForm OBJECT IDENTIFIER ::= {id-nf 12}

id-nf-deviceNameForm OBJECT IDENTIFIER ::= {id-nf 13}

id-nf-cRLDistPtNameForm OBJECT IDENTIFIER ::= {id-nf 14}

id-nf-dMDNameForm OBJECT IDENTIFIER ::= {id-nf 15}

-- id-nf-subentryNameForm		OBJECT IDENTIFIER 	::=	{id-nf 16}
END -- SelectedObjectClasses
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D