为什么不在LDAP模型中使用随机OID?

问题描述

LDAP模型通常具有这种格式(此处是属性的定义):

olcAttributeTypes: (  1.3.6.1.4.1.40805.2.1.3 NAME 'authzAccesstokenEncoding'
        DESC 'OAuth 2.0 access token encoding'
        EQUALITY caseExactMatch 
        ORDERING caseExactOrderingMatch 
        SUBSTR caseExactSubstringsMatch 
        Syntax 1.3.6.1.4.1.1466.115.121.1.15 
        SINGLE-VALUE 
        USAGE userApplications 
        X-ORIGIN 'OAuth 2.0' )

我对对象OID感兴趣:在这里属性名称具有OID 1.3.6.1.4.1.40805.2.1.3,并且引用了带有OID 1.3.6.1.4.1.1466.115.121.1.15的语法对象,该对象引用了一个字符串。

Wikipedia指出:

树中的每个节点都由分配机构控制,该机构可以在该节点下定义子节点,并为子节点委托分配机构。

Private Enterprise Number注册IANA website似乎也很容易。

但是,所有这些对我来说似乎有点过大。

  • 仅选择随机OID并使用它们会有什么风险?
  • 如果发生OID冲突,会有什么风险?
  • LDAP客户端或服务器是否检查了那些OID?

解决方法

是的,服务器和LDAP客户端库使用这些OID来确保架构元素的唯一性,尤其是在架构不断发展的情况下。 因此,不应与OID发生冲突,否则服务器将无法启动。 只要您在私有范围内工作,就可以随意在自己的树下使用随机OID。但是,由于OID是由LDAP以外的许多其他IETF协议构造和使用的,因此您绝不能创建随机的OID树,也不得使用由其他公司注册的OID。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...