Home | History | Annotate | Download | only in cgdconfig

Lines Matching defs:kg

324 	struct keygen *kg;
326 kg = emalloc(sizeof(*kg));
327 kg->kg_method = KEYGEN_UNKNOWN;
328 kg->kg_iterations = (size_t)-1;
329 kg->kg_memory = (size_t)-1;
330 kg->kg_parallelism = (size_t)-1;
331 kg->kg_version = (size_t)-1;
332 kg->kg_salt = NULL;
333 kg->kg_key = NULL;
334 kg->kg_cmd = NULL;
335 kg->kg_sharedid = NULL;
336 kg->kg_sharedalg = SHARED_ALG_UNKNOWN;
337 kg->kg_sharedlen = (size_t)-1;
338 kg->kg_sharedinfo = NULL;
339 kg->next = NULL;
340 return kg;
344 keygen_free(struct keygen *kg)
347 if (!kg)
349 bits_free(kg->kg_salt);
350 bits_free(kg->kg_key);
351 string_free(kg->kg_cmd);
352 string_free(kg->kg_sharedid);
353 bits_free(kg->kg_sharedinfo);
354 keygen_free(kg->next);
355 free(kg);
364 keygen_verify(const struct keygen *kg)
367 if (!kg)
369 switch (kg->kg_method) {
372 if (kg->kg_iterations == (size_t)-1) {
376 if (kg->kg_memory == (size_t)-1) {
380 if (kg->kg_parallelism == (size_t)-1) {
384 if (kg->kg_version == (size_t)-1) {
388 if (kg->kg_cmd)
390 if (kg->kg_key)
392 if (!kg->kg_salt) {
399 if (kg->kg_iterations == (size_t)-1) {
403 if (kg->kg_key)
405 if (!kg->kg_salt) {
409 if (kg->kg_cmd)
413 if (kg->kg_iterations == (size_t)-1) {
417 if (kg->kg_key)
419 if (!kg->kg_salt) {
423 if (kg->kg_cmd)
427 if (kg->kg_iterations != (size_t)-1)
429 if (!kg->kg_key) {
433 if (kg->kg_salt)
435 if (kg->kg_cmd)
440 if (kg->kg_iterations != (size_t)-1)
442 if (kg->kg_key)
444 if (kg->kg_salt)
446 if (kg->kg_cmd)
448 if (kg->kg_sharedid)
452 if (kg->kg_iterations != (size_t)-1)
454 if (kg->kg_key)
456 if (kg->kg_salt)
458 if (!kg->kg_cmd) {
464 return keygen_verify(kg->next);
470 struct keygen *kg;
472 kg = keygen_new();
473 if (!kg)
476 kg->kg_method = method;
477 return kg;
489 keygen_filldefaults(struct keygen *kg, size_t keylen)
492 if (!kg)
494 switch (kg->kg_method) {
501 kg->kg_version = ARGON2_VERSION_NUMBER;
502 kg->kg_salt = bits_getrandombits(DEFAULT_SALTLEN, 1);
504 &kg->kg_iterations, &kg->kg_memory, &kg->kg_parallelism);
509 kg->kg_salt = bits_getrandombits(DEFAULT_SALTLEN, 1);
510 kg->kg_iterations = pkcs5_pbkdf2_calibrate(BITS2BYTES(keylen),
512 if (kg->kg_iterations < 1) {
519 kg->kg_key = bits_getrandombits(keylen, 1);
520 if (!kg->kg_key) {
529 return keygen_filldefaults(kg->next, keylen);
542 struct keygen *kg, *to_free = NULL;
544 while ((kg = *kgp) != NULL) {
545 if (kg->kg_method == KEYGEN_STOREDKEY) {
546 *kgp = kg->next;
547 kg->next = to_free;
548 to_free = kg;
550 kgp = &kg->next;
559 struct keygen *kg;
561 for (kg = kg0; kg != NULL; kg = kg->next) {
562 switch (kg->kg_method) {
580 if (kg->kg_sharedid != NULL) {
585 for (kg = kg0; kg != NULL; kg = kg->next) {
600 kg->kg_sharedid = string_fromcharstar(idstr);
601 kg->kg_sharedalg = SHARED_ALG_HKDF_HMAC_SHA256;
602 kg->kg_sharedlen = 8*SHA256_DIGEST_LENGTH;
603 kg->kg_sharedinfo = bits_getrandombits(DEFAULT_SALTLEN, 0);
613 struct keygen *kg;
615 for (kg = kg0; kg != NULL; kg = kg->next) {
616 switch (kg->kg_method) {
634 if (kg->kg_sharedid == NULL) {
639 for (kg = kg0; kg != NULL; kg = kg->next) {
640 if (kg->kg_method == KEYGEN_STOREDKEY)
642 bits_free(kg->kg_sharedinfo);
643 kg->kg_sharedinfo = bits_getrandombits(DEFAULT_SALTLEN, 0);
699 struct keygen *kg = keygen_new();
704 kg->kg_method = KEYGEN_ARGON2ID;
707 kg->kg_method = KEYGEN_PKCS5_PBKDF2_OLD;
709 kg->kg_method = KEYGEN_PKCS5_PBKDF2_SHA1;
711 kg->kg_method = KEYGEN_RANDOMKEY;
713 kg->kg_method = KEYGEN_STOREDKEY;
715 kg->kg_method = KEYGEN_URANDOMKEY;
717 kg->kg_method = KEYGEN_SHELL_CMD;
721 if (kg->kg_method == KEYGEN_UNKNOWN)
723 return kg;
727 keygen_set_method(struct keygen *kg, string_t *in)
730 return keygen_combine(kg, keygen_method(in));
736 struct keygen *kg = keygen_new();
738 kg->kg_salt = in;
739 return kg;
745 struct keygen *kg = keygen_new();
747 kg->kg_iterations = in;
748 return kg;
754 struct keygen *kg = keygen_new();
756 kg->kg_memory = in;
757 return kg;
763 struct keygen *kg = keygen_new();
765 kg->kg_parallelism = in;
766 return kg;
772 struct keygen *kg = keygen_new();
774 kg->kg_version = in;
775 return kg;
796 struct keygen *kg = keygen_new();
798 kg->kg_key = in;
799 return kg;
805 struct keygen *kg = keygen_new();
807 kg->kg_cmd = in;
808 return kg;
814 struct keygen *kg = keygen_new();
818 kg->kg_sharedalg = SHARED_ALG_HKDF_HMAC_SHA256;
819 kg->kg_sharedlen = 8*SHA256_DIGEST_LENGTH;
822 if (kg->kg_sharedalg == SHARED_ALG_UNKNOWN) {
827 kg->kg_sharedid = id;
828 kg->kg_sharedinfo = info;
829 return kg;
971 print_shared(FILE *f, int ts, struct keygen *kg)
978 if (kg->kg_sharedid == NULL ||
979 kg->kg_sharedalg < 0 ||
980 (size_t)kg->kg_sharedalg >= __arraycount(sharedalgs))
983 string_tocharstar(kg->kg_sharedid));
986 sharedalgs[kg->kg_sharedalg]);
987 print_kvpair_b64(f, 0, ts, "subkey", kg->kg_sharedinfo);
991 keygen_fput(struct keygen *kg, int ts, FILE *f)
995 if (!kg)
999 switch (kg->kg_method) {
1003 print_kvpair_b64(f, curpos, 0, "key", kg->kg_key);
1014 print_kvpair_int(f, ts, "iterations", kg->kg_iterations);
1015 print_kvpair_int(f, ts, "memory", kg->kg_memory);
1016 print_kvpair_int(f, ts, "parallelism", kg->kg_parallelism);
1017 print_kvpair_int(f, ts, "version", kg->kg_version);
1018 print_kvpair_b64(f, 0, ts, "salt", kg->kg_salt);
1019 print_shared(f, ts, kg);
1025 print_kvpair_int(f, ts, "iterations", kg->kg_iterations);
1026 print_kvpair_b64(f, 0, ts, "salt", kg->kg_salt);
1027 print_shared(f, ts, kg);
1032 print_kvpair_int(f, ts, "iterations", kg->kg_iterations);
1033 print_kvpair_b64(f, 0, ts, "salt", kg->kg_salt);
1034 print_shared(f, ts, kg);
1038 warnx("keygen_fput: %d not a valid method", kg->kg_method);
1041 return keygen_fput(kg->next, ts, f);