Implemented full BLISS support for IKEv2 public key authentication and the pki tool
This commit is contained in:
@@ -31,12 +31,15 @@ ENUM_BEGIN(auth_method_names, AUTH_RSA, AUTH_DSS,
|
||||
"RSA signature",
|
||||
"pre-shared key",
|
||||
"DSS signature");
|
||||
ENUM_NEXT(auth_method_names, AUTH_ECDSA_256, AUTH_GSPM, AUTH_DSS,
|
||||
ENUM_NEXT(auth_method_names, AUTH_ECDSA_256, AUTH_NULL, AUTH_DSS,
|
||||
"ECDSA-256 signature",
|
||||
"ECDSA-384 signature",
|
||||
"ECDSA-521 signature",
|
||||
"secure password method");
|
||||
ENUM_NEXT(auth_method_names, AUTH_XAUTH_INIT_PSK, AUTH_HYBRID_RESP_RSA, AUTH_GSPM,
|
||||
"secure password method",
|
||||
"NULL authentication");
|
||||
ENUM_NEXT(auth_method_names, AUTH_BLISS, AUTH_BLISS, AUTH_NULL,
|
||||
"BLISS signature");
|
||||
ENUM_NEXT(auth_method_names, AUTH_XAUTH_INIT_PSK, AUTH_HYBRID_RESP_RSA, AUTH_BLISS,
|
||||
"XAuthInitPSK",
|
||||
"XAuthRespPSK",
|
||||
"XAuthInitRSA",
|
||||
@@ -99,6 +102,7 @@ authenticator_t *authenticator_create_verifier(
|
||||
case AUTH_ECDSA_256:
|
||||
case AUTH_ECDSA_384:
|
||||
case AUTH_ECDSA_521:
|
||||
case AUTH_BLISS:
|
||||
return (authenticator_t*)pubkey_authenticator_create_verifier(ike_sa,
|
||||
sent_nonce, received_init, reserved);
|
||||
case AUTH_PSK:
|
||||
|
||||
@@ -79,6 +79,16 @@ enum auth_method_t {
|
||||
*/
|
||||
AUTH_GSPM = 12,
|
||||
|
||||
/**
|
||||
* NULL Authentication Method as specified in draft-ietf-ipsecme-ikev2-null-auth
|
||||
*/
|
||||
AUTH_NULL = 13,
|
||||
|
||||
/**
|
||||
* BLISS Authentication Method
|
||||
*/
|
||||
AUTH_BLISS = 220,
|
||||
|
||||
/**
|
||||
* IKEv1 initiator XAUTH with PSK, outside of IANA range
|
||||
*/
|
||||
|
||||
@@ -106,6 +106,11 @@ METHOD(authenticator_t, build, status_t,
|
||||
return status;
|
||||
}
|
||||
break;
|
||||
case KEY_BLISS:
|
||||
/* we currently use SHA512 only */
|
||||
scheme = SIGN_BLISS_WITH_SHA512;
|
||||
auth_method = AUTH_BLISS;
|
||||
break;
|
||||
default:
|
||||
DBG1(DBG_IKE, "private key of type %N not supported",
|
||||
key_type_names, private->get_type(private));
|
||||
@@ -170,6 +175,10 @@ METHOD(authenticator_t, process, status_t,
|
||||
case AUTH_ECDSA_521:
|
||||
scheme = SIGN_ECDSA_521;
|
||||
break;
|
||||
case AUTH_BLISS:
|
||||
key_type = KEY_BLISS;
|
||||
scheme = SIGN_BLISS_WITH_SHA512;
|
||||
break;
|
||||
default:
|
||||
return INVALID_ARG;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user