docs: async def crypto_verify(signer_vk: str,
                          msg: bytes,
                          signature: bytes) -> bool:
      """
      Verify a signature with a verkey.
  
      Note to use DID keys with this function you can call indy_key_for_did to get key id (verkey) for specific DID.
  
      :param signer_vk: verkey of signer of the message
      :param msg: message that has been signed
      :param signature: a signature to be verified
      :return: valid: true - if signature is valid, false - otherwise
      """
  
      logger = logging.getLogger(__name__)
      logger.debug("crypto_verify: >>> my_vk: %r, signed_msg: %r, signature: %r",
                   signer_vk,
                   msg,
                   signature)
  
      if not hasattr(crypto_verify, "cb"):
          logger.debug("crypto_verify: Creating callback")
          crypto_verify.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_bool))
  
      c_signer_vk = c_char_p(signer_vk.encode('utf-8'))
      c_msg_len = c_uint32(len(msg))
      c_signature_len = c_uint32(len(signature))
  
      res = await do_call('indy_crypto_verify',
                          c_signer_vk,
                          msg,
                          c_msg_len,
                          signature,
                          c_signature_len,
                          crypto_verify.cb)
  
      logger.debug("crypto_verify: <<< res: %r", res)
      return res