const char *fn = 0;
bool gen_key = false;
+ bool gen_print_key = false;
const char *add_key = 0;
bool list = false;
bool print_key = false;
FOR_EACH_ARG(args) {
if (CONF_ARG_EQ("gen-key", 'g')) {
CONF_SAFE_SET_ARG_VAL(&gen_key, OPT_BOOL);
+ } else if (CONF_ARG_EQ("gen-print-key", '\0')) {
+ CONF_SAFE_SET_ARG_VAL(&gen_print_key, OPT_BOOL);
} else if (CONF_ARG_EQ("add-key", 'a')) {
CONF_SAFE_SET_ARG_VAL(&add_key, OPT_STR);
} else if (CONF_ARG_EQ("list", 'l')) {
} else
usage();
}
- if (!fn) {
+ if (!fn && !gen_print_key) {
cerr << me << ": must specify filename" << std::endl;
usage();
}
if (!(gen_key ||
+ gen_print_key ||
add_key ||
list ||
caps_fn ||
}
}
+ if (gen_print_key) {
+ CryptoKey key;
+ key.create(CEPH_CRYPTO_AES);
+ cout << key << std::endl;
+ return 0;
+ }
+
// keyring --------
bool modified = false;
KeyRing keyring;