Peter,

    Please see inline. 
    
-----Original Message-----
From: Public [mailto:[email protected]] On Behalf Of Peter Bowen via 
Public
Sent: Tuesday, February 28, 2017 1:26 AM



There have been some questions about expected ASN.1 grammar for BR & EV 
certificates.  I’ve created a module that attempts to collect it all.

I found a couple of errors in the tor appendix.  I think I got the intent 
right, but can someone please confirm?

Li-Chun: does this resolve your concerns about lack of documentation?

==> I appreciate your effort to document ASN.1 definition of 
jurisdictionLocalityName, jurisdictionStateOrProvinceName and 
jurisdictionCountryName. Currently, EVGL 9.2.5 says these three attributes are 
defined in RFC 5280, but it is not true. Last summer, I had pointed out this 
issue and discussed in Redmond F2F meeting day 2.

However, I don’t think it is necessary to duplicate those attributes that 
already defined in X.520 or RFC 5280, such as countryName, organizationName, 
givenName, streetAddress, localityName , stateOrProvinceName, postalCode, etc. 
Even if you add some upper bounds of the directory string length, it is simply 
a “profiling” of the original attributes. Their semantic will not have 
different meaning from the original ones. Also, their DER encoding will be 
still the same as the original ones.



Thanks,
Peter

CABFSelectedAttributeTypes {joint‐iso‐itu‐t(2) international‐organizations(23) 
ca‐browser‐forum(140) module(4) cabfSelectedAttributeTypes(1) 1} DEFINITIONS 
::= BEGIN

-- EXPORTS All
-- The types and values defined in this module are exported for use in X.509
-- certificates that comply with CA/Browser Forum guidelines.  Some definitions
-- are taken from Rec. ITU-T X.520 | ISO/IEC 9594-6, but the Forum does not
-- assume the existence of a Directory, Directory Information Base (DIB), or
-- Directory Information Tree.  CABFName does not have tree semantics except
-- when being processed for name constraints.

IMPORTS

  -- from Rec. ITU-T X.501 | ISO/IEC 9594-2

  informationFramework, selectedAttributeTypes, ID, ldap-enterprise
    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) 
usefulDefinitions(0) 7}

  Attribute{}, AttributeTypeAndValue
    FROM InformationFramework informationFramework

  -- from the X.500 series

  ub-common-name, ub-surname, ub-organization-name, ub-street-address, 
ub-locality-name,
  ub-state-name, ub-postal-code, ub-organizational-unit-name, 
ub-business-category,
  ub-serial-number
    FROM UpperBounds {joint-iso-itu-t ds(5) module(1) upperBounds(10) 7}

  -- from Rec. ITU-T X.520 | ISO/IEC 9594-6

  DirectoryString{}, UnboundedDirectoryString, caseIgnoreMatch, 
caseIgnoreSubstringsMatch,
  CountryName, id-at-commonName, id-at-surname, id-at-givenName, 
id-at-givenName,
  id-at-organizationName, id-at-streetAddress, id-at-localityName, 
id-at-stateOrProvinceName,
  id-at-postalCode, id-at-countryName, id-at-organizationalUnitName, name, 
id-at-serialNumber,
  id-at-businessCategory, octetStringMatch
    FROM SelectedAttributeTypes selectedAttributeTypes;

-- to be used TBSCertificate.subject and TBSCertificate.issuer
-- when encoded using BER/CER/DER, can be decoded as RDNSequence CABFName ::= 
SEQUENCE OF SET SIZE (1..MAX) OF AttributeTypeAndValue

cabfCommonName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-common-name}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"cn", "commonName"}
  ID                       id-at-commonName }

cabfSurname ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-surname}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"sn"}
  ID                       id-at-surname }

cabfGivenName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              UnboundeDirectoryString
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"givenName"}
  ID                       id-at-givenName }

cabfOrganizationName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-organization-name}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"o"}
  ID                       id-at-organizationName }

cabfStreetAddress ATTRIBUTE ::= {
  WITH SYNTAX              DirectoryString{ub-street-address}
  EQUALITY MATCHING RULE   caseIgnoreMatch
  SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"street"}
  ID                       id-at-streetAddress }

cabfLocalityName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-locality-name}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"l"}
  ID                       id-at-localityName }

cabfStateOrProvinceName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-state-name}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"st"}
  ID                       id-at-stateOrProvinceName }

cabfPostalCode ATTRIBUTE ::= {
  WITH SYNTAX              DirectoryString{ub-postal-code}
  EQUALITY MATCHING RULE   caseIgnoreMatch
  SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"postalCode"}
  ID                       id-at-postalCode }

cabfCountryName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              CountryName
  SINGLE VALUE             TRUE
  LDAP-SYNTAX              countryString.&id
  LDAP-NAME                {"c"}
  ID                       id-at-countryName }

cabfOrganizationalUnitName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-organizational-unit-name}
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"ou"}
  ID                       id-at-organizationalUnitName }

cabfBusinessCategory ATTRIBUTE ::= {
  WITH SYNTAX              DirectoryString{ub-business-category}
  EQUALITY MATCHING RULE   caseIgnoreMatch
  SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
  LDAP-SYNTAX              directoryString.&id
  LDAP-NAME                {"businessCategory"}
  ID                       id-at-businessCategory }

cabfSerialNumber ATTRIBUTE ::= {
  WITH SYNTAX              PrintableString(SIZE (1..ub-serial-number))
  EQUALITY MATCHING RULE   caseIgnoreMatch
  SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
  LDAP-SYNTAX              printableString.&id
  LDAP-NAME                {"serialNumber"}
  ID                       id-at-serialNumber }

id-evat-joi ID ::= {ldap-enterprise 311 ev(60) 2 1}

id-evat-joi-localityName ID ::= {id-evat-joi 1} id-evat-joi-stateOrProvinceName 
ID ::= {id-evat-joi 2} id-evat-joi-countryName ID ::= {id-evat-joi 3}

jurisdictionLocalityName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-locality-name}
  LDAP-SYNTAX              directoryString.&id
  ID                       id-evat-joi-localityName }

jurisdictionStateOrProvinceName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              DirectoryString{ub-state-name}
  LDAP-SYNTAX              directoryString.&id
  ID                       id-evat-joi-stateOrProvinceName }

jurisdictionCountryName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              CountryName
  SINGLE VALUE             TRUE
  LDAP-SYNTAX              countryString.&id
  ID                       id-evat-joi-countryName }

cabf ID ::= { joint‐iso‐itu‐t(2) international‐organizations(23) 
ca‐browser‐forum(140) }

cabf-policies ::= { cabf certificate-policies(1) }

torServiceDescriptor EXTENSION ::= {
  SYNTAX         TorServiceDescriptorSyntax
  IDENTIFIED BY  cabf-TorServiceDescriptor }

cabf-TorServiceDescriptor OBJECT IDENTIFIER ::= { cabf-policies 31 }

TorServiceDescriptorSyntax ::= SEQUENCE ( 1..MAX ) of TorServiceDescriptorHash

TorServiceDescriptorHash:: = SEQUENCE {
  onionURI                UTF8String
  algorithm               AlgorithmIdentifier
  subjectPublicKeyHash    BIT STRING
}

cabfCountryName ATTRIBUTE ::= {
  SUBTYPE OF               name
  WITH SYNTAX              CountryName
  SINGLE VALUE             TRUE
  LDAP-SYNTAX              countryString.&id
  LDAP-NAME                {"c"}
  ID                       id-at-countryName }


caSigningNonce ATTRIBUTE ::= {
  WITH SYNTAX             OCTET STRING
  EQUALITY MATCHING RULE  octetStringMatch
  SINGLE VALUE            TRUE
  ID                      cabf-caSigningNonce }

cabf-caSigningNonce OBJECT IDENTIFIER ::= { cabf 41 }

applicantSigningNonce ATTRIBUTE ::= {
  WITH SYNTAX             OCTET STRING
  EQUALITY MATCHING RULE  octetStringMatch
  SINGLE VALUE            TRUE
  ID                      cabf-applicantSigningNonce }

cabf-applicantSigningNonce OBJECT IDENTIFIER ::= { cabf 42 }

END

_______________________________________________
Public mailing list
[email protected]
https://cabforum.org/mailman/listinfo/public



本信件可能包含中華電信股份有限公司機密資訊,非指定之收件者,請勿蒐集、處理或利用本信件內容,並請銷毀此信件. 
如為指定收件者,應確實保護郵件中本公司之營業機密及個人資料,不得任意傳佈或揭露,並應自行確認本郵件之附檔與超連結之安全性,以共同善盡資訊安全與個資保護責任. 
Please be advised that this email message (including any attachments) contains 
confidential information and may be legally privileged. If you are not the 
intended recipient, please destroy this message and all attachments from your 
system and do not further collect, process, or use them. Chunghwa Telecom and 
all its subsidiaries and associated companies shall not be liable for the 
improper or incomplete transmission of the information contained in this email 
nor for any delay in its receipt or damage to your system. If you are the 
intended recipient, please protect the confidential and/or personal information 
contained in this email with due care. Any unauthorized use, disclosure or 
distribution of this message in whole or in part is strictly prohibited. Also, 
please self-inspect attachments and hyperlinks contained in this email to 
ensure the information security and to protect personal information.


_______________________________________________
Public mailing list
[email protected]
https://cabforum.org/mailman/listinfo/public

Reply via email to