RSA_public_decrypt function

  1. @RecordUse.new()
  2. @Native<Int Function(Size, Pointer<Uint8>, Pointer<Uint8>, Pointer<RSA>, Int)>(ffi.Size, ffi.Pointer<ffi.Uint8>, ffi.Pointer<ffi.Uint8>, ffi.Pointer<RSA>, ffi.Int)>(symbol: 'bssl_dart_RSA_public_decrypt')
int RSA_public_decrypt(
  1. int flen,
  2. Pointer<Uint8> from,
  3. Pointer<Uint8> to,
  4. Pointer<RSA> rsa,
  5. int padding,
)

RSA_public_decrypt performs the public key portion of verifying |flen| bytes of signature from |from| using the public key from |rsa|. It writes the result to |to|, which must have at least |RSA_size| bytes of space. It returns the number of bytes written, or -1 on error.

For the interpretation of |padding| and the result, see |RSA_verify_raw|.

WARNING: This function is a building block for a signature scheme, not a complete one. See |RSA_verify_raw| for details.

WARNING: This function is dangerous because it breaks the usual return value convention. Use |RSA_verify_raw| instead.

Implementation

@meta.RecordUse()
@ffi.Native<
  ffi.Int Function(
    ffi.Size,
    ffi.Pointer<ffi.Uint8>,
    ffi.Pointer<ffi.Uint8>,
    ffi.Pointer<RSA>,
    ffi.Int,
  )
>(symbol: 'bssl_dart_RSA_public_decrypt')
external int RSA_public_decrypt(
  int flen,
  ffi.Pointer<ffi.Uint8> from,
  ffi.Pointer<ffi.Uint8> to,
  ffi.Pointer<RSA> rsa,
  int padding,
);