SendSecureResponse Method

Sends an authenticated and/or encrypted SNMPv3 response.

Syntax

ANSI (Cross Platform)
int SendSecureResponse(const char* lpszRemoteHost, int iRemotePort, int iRequestId, int iMessageId, int iErrorStatus, int iErrorIndex, const char* lpszUser, int iAuthenticationProtocol, const char* lpszAuthenticationPassword, int iEncryptionAlgorithm, const char* lpszEncryptionPassword);

Unicode (Windows)
INT SendSecureResponse(LPCWSTR lpszRemoteHost, INT iRemotePort, INT iRequestId, INT iMessageId, INT iErrorStatus, INT iErrorIndex, LPCWSTR lpszUser, INT iAuthenticationProtocol, LPCWSTR lpszAuthenticationPassword, INT iEncryptionAlgorithm, LPCWSTR lpszEncryptionPassword);
- (void)sendSecureResponse:(NSString*)remoteHost :(int)remotePort :(int)requestId :(int)messageId :(int)errorStatus :(int)errorIndex :(NSString*)user :(int)authenticationProtocol :(NSString*)authenticationPassword :(int)encryptionAlgorithm :(NSString*)encryptionPassword;
#define MID_SNMPAGENT_SENDSECURERESPONSE 10

IPWORKSSNMP_EXTERNAL int IPWORKSSNMP_CALL IPWorksSNMP_SNMPAgent_Do(void *lpObj, int methid, int cparam, void *param[], int cbparam[], int64 *lpllVal);

Remarks

Similar to the SendResponse method except that User, Authentication Protocol, and AuthenticationPassword are used to authenticate the response. EncryptionAlgorithm and EncryptionPassword (if not empty) are used to encrypt the response.

The MessageId argument must match the MessageId parameter obtained from the GetRequest, GetNextRequest, SetRequest, or GetBulkRequest event.

The user and password arguments used to send the response will be added to the internal user cache. If the user is already in the cache, its passwords will be updated with those supplied.

Valid Authentication Protocols are:

HMAC-MD5-96 (1)Message-Digest algorithm 5.
HMAC-SHA-96 (2)Secure Hash Algorithm.
HMAC-192-SHA-256 (3)Secure Hash Algorithm.
HMAC-384-SHA-512 (4)Secure Hash Algorithm.

Valid Encryption Algorithms are:

DES (1)Data Encryption Standard.
AES (2)Advanced Encryption Standard with key length of 128.
3DES (3)Triple Data Encryption Standard.
AES192 (4)Advanced Encryption Standard with key length of 192.
AES256 (5)Advanced Encryption Standard with key length of 256.

Error Handling (C++)

This method returns a result code; 0 indicates success, while a non-zero error code indicates that this method encountered an error during its execution. If an error occurs, the GetLastError() method can be called to retrieve the associated error message. (Note: This method's result code can also be obtained by calling the GetLastErrorCode() method after it returns.)

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks SNMP 2020 C++ Edition - Version 20.0 [Build 8202]