Set User SNMP V3 authentication algorithm
更新时间: 2026/08/06
在Gitcode上查看源码

Set User SNMP V3 authentication algorithm

Change History

openUBMC VersionRevision DateDescription
25.062025/06/26Initial draft: add command details

Basic Information

Function Description

Setting the SNMPv3 Authentication Algorithm for a User

Privilege

UserMgnt

Command Information

Request Information

ByteData Field
NetFn30h
CMD93h
1:3Manufacturer 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.
4Sub command, subcommand=7fh
5User 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]
6SNMPAuthProtocol
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
23Indicates the length of the SNMPv3 encryption password.
24:NIndicates 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
27Indicates the length of the SNMPv3 encryption password.
28:NIndicates the SNMPv3 encryption password. The value contains a maximum of 20 bytes.

Response Information

ByteData Field
1Completion 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:4Manufacturer 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 0x00

Response:

text
00

Back to Index