iBMC Web-API 登录已启用前端加密,如何在脚本里复现加密并拿 SessionId?

现在 iBMC 登录接口 /UI/Rest/Login 似乎启用了前端加密,用户名和密码都是加密后的字符串。
F12 network 名称,找到post UI/Rest/Login,点击载荷后看到加密后发过去登录信息,用web-api明文发就会返回错误。

请问:

  • 如果我用脚本调用 web-api,该怎么加密?
  • 这个加密规则在哪里能查到?
  • 有没有现成的加密方法可以用?

我只是想用 web 接口登录并获取 session,用来后续访问 API。
不走 redfish。

1、通过post login接口得到 XCSRFToken
2、访问其他rest接口,header中添加字段 X-CSRF-Token,值使用login接口返回的 XCSRFToken

前端加密算法对用户名和密码进行加密,再以密文形式调用。如果直接使用会报错


-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvxwkIHa/H2iF1CwT9l0B
xBNZfyfaLCzcRP4BFrvBsbgS+32YjJXbIfriTJbLRFXUrvG7dHbeEMPDo6zVhIOy
jwB9w9FMC6uUv4tI5wfoU0SzXekq8NvNVXAZcOBT6BvOuCC/doao8xw/lFH5zlA8
y2nxx4+gPv6HCqysb4R09o91mZZ8W4vLozpBXtl8kYhmRXsy60EvgXkywOq0quRE
TxF47KSnL6uzJX/HRdu337h9Hwm/Lv7ZeYUr8q6AJ+OXZ8415Vs5jncXqpQbPXFU
RtMjA7h8m+r7AJnYwkqya+jNsemQNY8zs2GrRx9G/rBVx0933Ln/OQYuEvQZK9vn
ICBy7mRfsDs6g4UfeLSK0pXEnbuhyFGrtXHq7LLqVBuZ5bx/SmddyaWM/ZCKKbJB
PWAu8+gv5UMovyIUtoqtRyRdS0ev2o0qgSN3MLYfNyQItyfjRc6tH1bR3rXUeEEC
HNENRFjnXkqZ5CKonALlXFoVZu8mqEho4lG+FYYT4prwp3nIZUtwPZ9Gv+taNQ/7
aDKwaw1TC+MefEvzoV4iMi+1HfRTX8qsfL2q05UEa1emQKfFdfVYEYfo5CE6a4S7
6YZ093vUTyp5euz2AMT8uJUl/iNrxVjw5P4EeTTaAK1uJXYps6xEpwjAIeTFuTrj
UFK15WjJ+qQdkr/dIQXCf5cCAwEAAQ==
-----END PUBLIC KEY-----

请问下是这个接口吗

旁边的 Login 接口响应体里面的 XCSRFToken,可以用来直接发送rest接口请求。

大佬。我login操作时候也想走web-api,这个也可以直接用吗

login接口可以直接发请求的。请求体里面放用户名和密码原文就行。

之前配置没配好,还以为要加密 :anxious_face_with_sweat: