Allow the internal DH implementation to be overridden
Crypto library wrappers can now override the internal DH (group 5) implementation. As a starting point, this is done with OpenSSL. The new mechanism is currently available only for WPS (i.e., IKEv2 still depends on the internal DH implementation).
This commit is contained in:
parent
dd01b1ff9d
commit
f042122a57
11 changed files with 209 additions and 11 deletions
40
src/crypto/dh_group5.c
Normal file
40
src/crypto/dh_group5.c
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Diffie-Hellman group 5 operations
|
||||
* Copyright (c) 2009, Jouni Malinen <j@w1.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* Alternatively, this software may be distributed under the terms of BSD
|
||||
* license.
|
||||
*
|
||||
* See README and COPYING for more details.
|
||||
*/
|
||||
|
||||
#include "includes.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "dh_groups.h"
|
||||
#include "dh_group5.h"
|
||||
|
||||
|
||||
void * dh5_init(struct wpabuf **priv, struct wpabuf **publ)
|
||||
{
|
||||
*publ = dh_init(dh_groups_get(5), priv);
|
||||
if (*publ == 0)
|
||||
return NULL;
|
||||
return (void *) 1;
|
||||
}
|
||||
|
||||
|
||||
struct wpabuf * dh5_derive_shared(void *ctx, const struct wpabuf *peer_public,
|
||||
const struct wpabuf *own_private)
|
||||
{
|
||||
return dh_derive_shared(peer_public, own_private, dh_groups_get(5));
|
||||
}
|
||||
|
||||
|
||||
void dh5_free(void *ctx)
|
||||
{
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue