Openssl 为自定义x508 v3扩展创建和注册OID的正式做法还是最佳做法?

Openssl 为自定义x508 v3扩展创建和注册OID的正式做法还是最佳做法?,openssl,certificate,ssl-certificate,x509,client-certificates,Openssl,Certificate,Ssl Certificate,X509,Client Certificates,我希望为客户端发送到我的服务器的证书添加更具体的权限。比如: 服务器上连接了10个温度传感器 CA向客户机提供证书,允许其访问传感器1、7、9 在客户端连接后,服务器使用mTLS/mHTTPS验证客户端是否可以访问传感器1、7、9并授予访问权限 使用X509V3扩展,这看起来非常简单。许多指南都喜欢演示如何构建OID,但它们有点简洁,并且/或者您可以如何更好地与其他PKI工具(Windows Cert Store、OSX、NSS等)集成。我特别关注: 如何确保所选OID将来不会无效 有没有一

我希望为客户端发送到我的服务器的证书添加更具体的权限。比如:

  • 服务器上连接了10个温度传感器
  • CA向客户机提供证书,允许其访问传感器1、7、9
  • 在客户端连接后,服务器使用mTLS/mHTTPS验证客户端是否可以访问传感器1、7、9并授予访问权限
使用X509V3扩展,这看起来非常简单。许多指南都喜欢演示如何构建OID,但它们有点简洁,并且/或者您可以如何更好地与其他PKI工具(Windows Cert Store、OSX、NSS等)集成。我特别关注:

  • 如何确保所选OID将来不会无效
  • 有没有一种方法可以像在SNMP中那样正式注册特定于公司的OID空间?这些类型的扩展是否有一个普遍接受的OID空间?如果是这样的话,我如何构造一个碰撞几率很小的

  • 如何让其他工具按名称引用并解析扩展
  • 理想情况下,我希望像windows证书查看器这样的工具能够显示扩展名的实际名称,而不是OID,并显示值的详细视图,而不仅仅是十六进制数据。我是否可以创建一个类似MIB的文件来告诉这些工具如何读取自定义扩展名