私のコードでは、usmユーザーを構成し、SNMPv3のユーザーを追加しています。以下の一連のアルゴリズムを同時にサポートするようにユーザーを構成したいと思います。
SHA-1 + AES128、SHA-1 + DES、MD5 + AES128、MD5 + DES
同じusmユーザーがこれらの4つの組み合わせを同時にサポートできるとしましょう。ここで、管理コンソールから試してみると、上記の4つの任意の組み合わせを選択したいので、SNMPエージェントが機能するはずです。
注:新しいusmユーザーを追加したくありません。同じユーザーに上記の4つの組み合わせを同時に設定してもらいたい。
UsmUser user = new UsmUser(new OctetString(m_usmUser),
snmpAuthenticationAlgorithm,
snmpAuthenticationPassword,
snmpPrivacyAlgorithm,
snmpPrivacyPassword);
usm.addUser(user.getSecurityName(), user.getLocalizationEngineID(), user);
上記ではなく、以下のようなものを使いたいと思います。
UsmUser user = new UsmUser(new OctetString(m_usmUser),
AuthMD5.ID,
snmpAuthenticationPassword,
PrivDES.ID,
snmpPrivacyPassword);
usm.addUser(user.getSecurityName(), user.getLocalizationEngineID(), user);
user = new UsmUser(new OctetString(m_usmUser),
AuthMD5.ID,
snmpAuthenticationPassword,
PrivAES128.ID,
snmpPrivacyPassword);
usm.addUser(user.getSecurityName(), user.getLocalizationEngineID(), user);
user = new UsmUser(new OctetString(m_usmUser),
AuthSHA.ID,
snmpAuthenticationPassword,
PrivAES128.ID,
snmpPrivacyPassword);
usm.addUser(user.getSecurityName(), user.getLocalizationEngineID(), user);
user = new UsmUser(new OctetString(m_usmUser),
AuthSHA.ID,
snmpAuthenticationPassword,
PrivDES.ID,
snmpPrivacyPassword);
usm.addUser(user.getSecurityName(), user.getLocalizationEngineID(), user);