Set User SNMP V3 authentication algorithm
更新时间: 2026/08/06
在Gitcode上查看源码Set User SNMP V3 authentication algorithm
Change History
| openUBMC Version | Revision Date | Description |
|---|---|---|
| 25.06 | 2025/06/26 | Initial draft: add command details |
Basic Information
Function Description
Setting the SNMPv3 Authentication Algorithm for a User
Privilege
UserMgnt
Command Information
Request Information
| Byte | Data Field |
|---|---|
| NetFn | 30h |
| CMD | 93h |
| 1:3 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. |
| 4 | Sub command, subcommand=7fh |
| 5 | User ID For IPMI v2.0, the BMC shall support 20-byte passwords (keys) for all supported user IDs that have configurable passwords. The BMC shall maintain an internal tag that indicates whether the password was set as a 16-byte or as a 20-byte password A 16-byte password can be used in algorithms that call for a 20-byte password. In this case, the 16-byte password is padded with 0's to 20-bytes The 'test password' operation shall return the 'test failed' error completion code if an attempt is made to test a password that was stored as a 20-byte password as a 16-byte password (per 'passwordsize' bit 7), and vice versa A password that has been stored as a 20-byte password cannot be used for establishing an IPMI v1.5 session. If it is necessary to configure the same password for both IPMI v2.0 and IPMI v1.5 access, it must be set as a 16-byte password5. The password will be padded with 0's as necessary for IPMI v2.0/RMCP+ use The 'test password' operation can be used to determine whether a password has been stored as 16-bytes or 20-bytes [7]-password size 1b=set 20-byte user password/key 0b=set 16-byte user password/key (IPMI v1.5 backward compatible) [6]-reserved [5:0]-User ID. 000000b=reserved. (User ID 1 is permanently associated with User 1, the null user name).[b1] |
| 6 | SNMPAuthProtocol 03h=SHA256 04h=SHA384 05h=SHA512 |
| For password size=16 bytes: | |
| (7:22) | Password data. This is a required, fixed length field when used for the setand test password operations. If the password is entered as an ASCII string, it must be null (00h) terminated and 00h padded if the string is shorter than 16 bytes. This field need not be present if the operation is 'disable user' or 'enable user'. If this field is present for those operations, the BMC will ignore the data |
| 23 | Indicates the length of the SNMPv3 encryption password. |
| 24:N | Indicates the SNMPv3 encryption password. The value contains a maximum of 20 bytes. |
| For password size=20 bytes: | |
| (7:26) | 20-byte Password data. This is a required, fixed length field when used for the set- and test password operations. If the password is entered as an ASCII string, it must be null (00h) terminated and 00h padded if the string is shorter than 16 bytes. This field need not be present if the operation is 'disable user' or 'enable user'. If this field is present for those operations, the BMC will ignore the data |
| 27 | Indicates the length of the SNMPv3 encryption password. |
| 28:N | Indicates the SNMPv3 encryption password. The value contains a maximum of 20 bytes. |
Response Information
| Byte | Data Field |
|---|---|
| 1 | Completion Code 80h=(mandatory) password test failed. Password size correct, but password data does not match stored value 81h=(mandatory) password test failed. Wrong password size was used |
| 2:4 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. |
Command Example
Set the user authentication algorithm.
Request:
bash
ipmitool raw 0x30 0x93 0xdb 0x07 0x00 0x800x03 0x03 0x42 0x6d 0x63 0x2b 0x2d 0x2a 0x2f 0x31 0x32 0x33 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x42 0x6d 0x63 0x2b 0x2d 0x2a 0x2f 0x31 0x32 0x33 0x00 0x00 0x00 0x00 0x00 0x00Response:
text
00