3,15 → 3,15 |
OIDplus automatically assigns a UUID to every object it manages. It is based on the custom UUID type (UUIDv8) which was defined in the new version of RFC 4122. |
|
| Block | Byte | Length | Description | |
|--|--|--|--| |
| 1 | 0-3 | 1 bit | Reserved, must be 0. | |
| | | 31 bits | OIDplus SystemID (lower 31 bits of SHA1 of Public Key); 0 if not available | |
| 2 | 4-5 | 16 bits | Creation timestamp: Days since 01.01.1970 00:00 GMT; 0 if unknown. Max possible: 0xFFFF = 06 June 2149 | |
| 3 | 6-7 | 4 bits | UUID Version, must be 0x8 [Custom] | |
| | | 12 bits | Reserved, must be 0x0000 | |
| 4 | 8-9 | 2 bits | UUID Variant, must be 0b10 (RFC 4122) | |
| | | 14 bits | Namespace (lower 14 bits of SHA1 of Namespace OID) | |
| 5 |10-15| 48 bits | Object name (lower 48 bits of SHA1 of canonical object name) | |
|-----|------|---------|----------------------| |
| 1 | 0-3 | 1 bit | Reserved, must be 0. |
| | | 31 bits | OIDplus SystemID (lower 31 bits of SHA1 of Public Key); 0 if not available |
| 2 | 4-5 | 16 bits | Creation timestamp: Days since 01.01.1970 00:00 GMT; 0 if unknown. Max possible: 0xFFFF = 06 June 2149 |
| 3 | 6-7 | 4 bits | UUID Version, must be 0x8 (Custom UUID) |
| | | 12 bits | Reserved, must be 0x0000 |
| 4 | 8-9 | 2 bits | UUID Variant, must be 0b10 (RFC 4122) |
| | | 14 bits | Namespace (lower 14 bits of SHA1 of Namespace OID) |
| 5 |10-15 | 48 bits | Object name (lower 48 bits of SHA1 of canonical object name) |
|
|
## Example |
23,17 → 23,17 |
It contains the information as follows: |
|
|Block| Description | Value | Interpretation | |
|--|--|--|--| |
| 1 | System ID | [0x6E932DD7] | SHA1(PubKey) & 0x7FFF.FFFF = 1855139287 | |
| 2 | Timestamp | [0x458C] | 30 September 2018 (17804 days since 1 January 1970) | |
| 3 | Reserved+Version | [0x8000] | 0x0000 \| 0x8000 | |
| 4 | Namespace+Variant | [0xB9E9] | SHA1('1.3.6.1.4.1.37476.2.5.2.4.8.6') & 0x3FFF \| 0x8000 | |
| 5 | Object Name | [0xC1E3894D1105] | SHA1('com.example') & 0xFFFF.FFFF.FFFF | |
|-----|-------------------|----------------|----------------| |
| 1 | System ID | 0x6E932DD7 | SHA1(PubKey) & 0x7FFF.FFFF = 1855139287 |
| 2 | Timestamp | 0x458C | 30 September 2018 (17804 days since 1 January 1970) |
| 3 | Reserved+Version | 0x8000 | 0x0000 \| 0x8000 |
| 4 | Namespace+Variant | 0xB9E9 | SHA1('1.3.6.1.4.1.37476.2.5.2.4.8.6') & 0x3FFF \| 0x8000 |
| 5 | Object Name | 0xC1E3894D1105 | SHA1('com.example') & 0xFFFF.FFFF.FFFF |
|
## Known namespaces |
|
|Vendor | Namespace | OID | SHA1 hash | UUID block 4 | Notes | |
|--|--|--|--|--|--| |
| Vendor |Namespace| OID | SHA1 hash | Block 4| Notes | |
|--------------|---------|--------------------------------|-----------|--------|--------------| |
| ViaThinkSoft | doi | 1.3.6.1.4.1.37476.2.5.2.4.8.1 | 0x...2259 | 0xA259 | |
| ViaThinkSoft | gs1 | 1.3.6.1.4.1.37476.2.5.2.4.8.2 | 0x...021E | 0x821E | |
| ViaThinkSoft | guid | 1.3.6.1.4.1.37476.2.5.2.4.8.3 | 0x...B924 | 0xB924 | In OIDplus, only the UUID itself will be shown |
58,7 → 58,8 |
--> |
|
Note: When a new object type plugin is developed, the plugin author should check |
if their plugin OID does conflict with plugin OIDs of other vendors, and consider |
if their "Block 4" hash based on their plugin OID does conflict with the |
"Block 4" hashes of plugins from other vendors, and consider |
using a different plugin OID in that case. |
Between ViaThinkSoft OIDs, the lowest collision is `1.3.6.1.4.1.37476.2.5.2.4.8.186` |
which collides with `1.3.6.1.4.1.37476.2.5.2.4.8.48`. |