def gen_key_pair_priv_cb(data, ctx): if not data: warning('keymanagement: Could not generate a key pair\n') cb(None, None) else: xrun([self.sslname, 'rsa', '-pubout'], gen_key_pair_pub_cb, data, data)
def gen_key_pair(self, keysize, cb): """ Generates asymmetric key pair. First generate private key and test if it succeeded. Then use private key to generate public key. If everything went well, call GUI's generate_keys_cb with the key pair, else call it with (None,None) """ def gen_key_pair_pub_cb(data, ctx): if not data: warning('keymanagement: Could not generate a key pair\n') cb(None, None) else: cb(ctx, data) def gen_key_pair_priv_cb(data, ctx): if not data: warning('keymanagement: Could not generate a key pair\n') cb(None, None) else: xrun([self.sslname, 'rsa', '-pubout'], gen_key_pair_pub_cb, data, data) return xrun([self.sslname, 'genrsa', str(keysize)], gen_key_pair_priv_cb, None)