|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Detailed DescriptionThis module implements HTTP digest authentication using Authentication and Key Agreement (AKA) version 1 and version 2 (AKAv1-MD5 and AKAv2-MD5), as specified in RFC 3310 and RFC 4169. SIP AKA authentication is used by 3GPP and IMS systems. Using Digest AKA AuthenticationSupport for digest AKA authentication is currently made optional, so application needs to declare PJSIP_HAS_DIGEST_AKA_AUTH to non-zero in #define PJSIP_HAS_DIGEST_AKA_AUTH 1
In addition, application would need to link with libmilenage library from third_party directory. Application then specifies digest AKA credential by initializing the authentication credential as follows: pjsip_cred_info cred; pj_bzero(&cred, sizeof(cred)); cred.scheme = pj_str("Digest"); cred.realm = pj_str("ims-domain.test"); cred.username = pj_str("user@ims-domain.test"); cred.data_type = PJSIP_CRED_DATA_PLAIN_PASSWD | PJSIP_CRED_DATA_EXT_AKA; cred.data = pj_str("password"); // AKA extended info cred.ext.aka.k = pj_str("password"); cred.ext.aka.cb = &pjsip_auth_create_aka_response Description:
Define Documentation
Length of Authentication Key (AK) in bytes.
Length of Authentication Management Field (AMF) in bytes.
Length of AUTN in bytes.
Length of Confidentiality Key (CK) in bytes.
Length of Integrity Key (AK) in bytes.
Length of permanent/subscriber Key (K) in bytes.
Length of AKA authentication code in bytes.
Length of operator key in bytes.
Length of random challenge (RAND) in bytes.
Length of response digest in bytes.
Length of sequence number (SQN) in bytes. Function Documentation
This function creates MD5, AKAv1-MD5, or AKAv2-MD5 response for the specified challenge in chal, according to the algorithm specified in the challenge, and based on the information in the credential cred. Application may register this function as ext.aka.cb field of pjsip_cred_info structure to make PJSIP automatically call this function to calculate the response digest. To do so, it needs to add PJSIP_CRED_DATA_EXT_AKA flag in the data_type field of the credential, and fills up other AKA specific information in the credential.
Copyright (C) 2006-2008 Teluu Inc.
| |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||