| wpa_supplicant / hostapd
    2.5
    | 
EAP server/peer: EAP-GPSK shared routines. More...
#include "includes.h"#include "common.h"#include "crypto/aes_wrap.h"#include "crypto/sha256.h"#include "eap_defs.h"#include "eap_gpsk_common.h"| Macros | |
| #define | EAP_GPSK_SK_LEN_AES 16 | 
| #define | EAP_GPSK_PK_LEN_AES 16 | 
| #define | SID_LABEL "Method ID" | 
| Functions | |
| int | eap_gpsk_supported_ciphersuite (int vendor, int specifier) | 
| Check whether ciphersuite is supported.  More... | |
| int | eap_gpsk_derive_keys (const u8 *psk, size_t psk_len, int vendor, int specifier, const u8 *rand_peer, const u8 *rand_server, const u8 *id_peer, size_t id_peer_len, const u8 *id_server, size_t id_server_len, u8 *msk, u8 *emsk, u8 *sk, size_t *sk_len, u8 *pk, size_t *pk_len) | 
| Derive EAP-GPSK keys.  More... | |
| int | eap_gpsk_derive_session_id (const u8 *psk, size_t psk_len, int vendor, int specifier, const u8 *rand_peer, const u8 *rand_server, const u8 *id_peer, size_t id_peer_len, const u8 *id_server, size_t id_server_len, u8 method_type, u8 *sid, size_t *sid_len) | 
| Derive EAP-GPSK Session ID.  More... | |
| size_t | eap_gpsk_mic_len (int vendor, int specifier) | 
| Get the length of the MIC.  More... | |
| int | eap_gpsk_compute_mic (const u8 *sk, size_t sk_len, int vendor, int specifier, const u8 *data, size_t len, u8 *mic) | 
| Compute EAP-GPSK MIC for an EAP packet.  More... | |
EAP server/peer: EAP-GPSK shared routines.
| int eap_gpsk_compute_mic | ( | const u8 * | sk, | 
| size_t | sk_len, | ||
| int | vendor, | ||
| int | specifier, | ||
| const u8 * | data, | ||
| size_t | len, | ||
| u8 * | mic | ||
| ) | 
Compute EAP-GPSK MIC for an EAP packet.
| sk | Session key SK from eap_gpsk_derive_keys() | 
| sk_len | SK length in bytes from eap_gpsk_derive_keys() | 
| vendor | CSuite/Vendor | 
| specifier | CSuite/Specifier | 
| data | Input data to MIC | 
| len | Input data length in bytes | 
| mic | Buffer for the computed MIC, eap_gpsk_mic_len(cipher) bytes | 
| int eap_gpsk_derive_keys | ( | const u8 * | psk, | 
| size_t | psk_len, | ||
| int | vendor, | ||
| int | specifier, | ||
| const u8 * | rand_peer, | ||
| const u8 * | rand_server, | ||
| const u8 * | id_peer, | ||
| size_t | id_peer_len, | ||
| const u8 * | id_server, | ||
| size_t | id_server_len, | ||
| u8 * | msk, | ||
| u8 * | emsk, | ||
| u8 * | sk, | ||
| size_t * | sk_len, | ||
| u8 * | pk, | ||
| size_t * | pk_len | ||
| ) | 
Derive EAP-GPSK keys.
| psk | Pre-shared key | 
| psk_len | Length of psk in bytes | 
| vendor | CSuite/Vendor | 
| specifier | CSuite/Specifier | 
| rand_peer | 32-byte RAND_Peer | 
| rand_server | 32-byte RAND_Server | 
| id_peer | ID_Peer | 
| id_peer_len | Length of ID_Peer | 
| id_server | ID_Server | 
| id_server_len | Length of ID_Server | 
| msk | Buffer for 64-byte MSK | 
| emsk | Buffer for 64-byte EMSK | 
| sk | Buffer for SK (at least EAP_GPSK_MAX_SK_LEN bytes) | 
| sk_len | Buffer for returning length of SK | 
| pk | Buffer for PK (at least EAP_GPSK_MAX_PK_LEN bytes) | 
| pk_len | Buffer for returning length of PK | 
| int eap_gpsk_derive_session_id | ( | const u8 * | psk, | 
| size_t | psk_len, | ||
| int | vendor, | ||
| int | specifier, | ||
| const u8 * | rand_peer, | ||
| const u8 * | rand_server, | ||
| const u8 * | id_peer, | ||
| size_t | id_peer_len, | ||
| const u8 * | id_server, | ||
| size_t | id_server_len, | ||
| u8 | method_type, | ||
| u8 * | sid, | ||
| size_t * | sid_len | ||
| ) | 
Derive EAP-GPSK Session ID.
| psk | Pre-shared key | 
| psk_len | Length of psk in bytes | 
| vendor | CSuite/Vendor | 
| specifier | CSuite/Specifier | 
| rand_peer | 32-byte RAND_Peer | 
| rand_server | 32-byte RAND_Server | 
| id_peer | ID_Peer | 
| id_peer_len | Length of ID_Peer | 
| id_server | ID_Server | 
| id_server_len | Length of ID_Server | 
| method_type | EAP Authentication Method Type | 
| sid | Buffer for 17-byte Session ID | 
| sid_len | Buffer for returning length of Session ID | 
| size_t eap_gpsk_mic_len | ( | int | vendor, | 
| int | specifier | ||
| ) | 
Get the length of the MIC.
| vendor | CSuite/Vendor | 
| specifier | CSuite/Specifier | 
| int eap_gpsk_supported_ciphersuite | ( | int | vendor, | 
| int | specifier | ||
| ) | 
Check whether ciphersuite is supported.
| vendor | CSuite/Vendor | 
| specifier | CSuite/Specifier | 
 1.8.6
 1.8.6