Added generic TLS purposes

This commit is contained in:
Martin Willi
2010-08-24 08:45:49 +02:00
parent f55f9c4e1e
commit bda7d9d940
3 changed files with 19 additions and 6 deletions
+4
View File
@@ -98,6 +98,10 @@ enum tls_purpose_t {
TLS_PURPOSE_EAP_TTLS, TLS_PURPOSE_EAP_TTLS,
/** EAP-TTLS with client authentication */ /** EAP-TTLS with client authentication */
TLS_PURPOSE_EAP_TTLS_CLIENT_AUTH, TLS_PURPOSE_EAP_TTLS_CLIENT_AUTH,
/** non-EAP TLS without client authentication */
TLS_PURPOSE_GENERIC,
/** non-EAP TLS with client authentication */
TLS_PURPOSE_GENERIC_CLIENT_AUTH,
}; };
/** /**
+7
View File
@@ -861,6 +861,8 @@ METHOD(tls_crypto_t, change_cipher, void,
METHOD(tls_crypto_t, derive_eap_msk, void, METHOD(tls_crypto_t, derive_eap_msk, void,
private_tls_crypto_t *this, chunk_t client_random, chunk_t server_random) private_tls_crypto_t *this, chunk_t client_random, chunk_t server_random)
{
if (this->msk_label)
{ {
chunk_t seed; chunk_t seed;
@@ -870,6 +872,7 @@ METHOD(tls_crypto_t, derive_eap_msk, void,
this->prf->get_bytes(this->prf, this->msk_label, seed, this->prf->get_bytes(this->prf, this->msk_label, seed,
this->msk.len, this->msk.ptr); this->msk.len, this->msk.ptr);
} }
}
METHOD(tls_crypto_t, get_eap_msk, chunk_t, METHOD(tls_crypto_t, get_eap_msk, chunk_t,
private_tls_crypto_t *this) private_tls_crypto_t *this)
@@ -931,6 +934,10 @@ tls_crypto_t *tls_crypto_create(tls_t *tls)
this->msk_label = "ttls keying material"; this->msk_label = "ttls keying material";
build_cipher_suite_list(this, TRUE); build_cipher_suite_list(this, TRUE);
break; break;
case TLS_PURPOSE_GENERIC:
case TLS_PURPOSE_GENERIC_CLIENT_AUTH:
build_cipher_suite_list(this, TRUE);
break;
} }
return &this->public; return &this->public;
} }
+2
View File
@@ -683,9 +683,11 @@ tls_server_t *tls_server_create(tls_t *tls,
{ {
case TLS_PURPOSE_EAP_TLS: case TLS_PURPOSE_EAP_TLS:
case TLS_PURPOSE_EAP_TTLS_CLIENT_AUTH: case TLS_PURPOSE_EAP_TTLS_CLIENT_AUTH:
case TLS_PURPOSE_GENERIC_CLIENT_AUTH:
this->request_peer_auth = TRUE; this->request_peer_auth = TRUE;
break; break;
case TLS_PURPOSE_EAP_TTLS: case TLS_PURPOSE_EAP_TTLS:
case TLS_PURPOSE_GENERIC:
break; break;
} }
return &this->public; return &this->public;