nonceg: Insert id mapping when allocating nonce
[strongswan.git] / src / charon-tkm / src / charon-tkm.c
index c9c27ba..e102b4e 100644 (file)
 #include <library.h>
 #include <utils/backtrace.h>
 #include <threading/thread.h>
+#include <sa/keymat.h>
 
 #include "tkm.h"
 #include "tkm_nonceg.h"
+#include "tkm_diffie_hellman.h"
+#include "tkm_keymat.h"
 
 /**
  * PID file, in which charon-tkm stores its process id
@@ -271,11 +274,17 @@ int main(int argc, char *argv[])
        /* register TKM specific plugins */
        static plugin_feature_t features[] = {
                PLUGIN_REGISTER(NONCE_GEN, tkm_nonceg_create),
-               PLUGIN_PROVIDE(NONCE_GEN)
+                       PLUGIN_PROVIDE(NONCE_GEN),
+               PLUGIN_REGISTER(DH, tkm_diffie_hellman_create),
+                       PLUGIN_PROVIDE(DH, MODP_3072_BIT),
+                       PLUGIN_PROVIDE(DH, MODP_4096_BIT),
        };
        lib->plugins->add_static_features(lib->plugins, "tkm-backend", features,
                        countof(features), TRUE);
 
+       /* register TKM keymat variant */
+       keymat_register_constructor(IKEV2, (keymat_constructor_t)tkm_keymat_create);
+
        /* initialize daemon */
        if (!charon->initialize(charon, PLUGINS))
        {