def call_openssl(cmd, message, silent=False):
    """
    call openssl
    :param cmd: a string of command send to openssl
    :param message: a string to print out if not silent
    :param silent: a boolean for whether to suppress output from openssl
    """
    if silent:
        with open(os.devnull, 'w') as devnull:
            return subprocess.check_call(cmd, shell=True, stdout=devnull,
                                         stderr=subprocess.STDOUT)
    else:
        print message
        return subprocess.check_call(cmd, shell=True)