X509_NAME_ENTRY_set_data function

  1. @RecordUse.new()
  2. @Native<Int Function(Pointer<X509_NAME_ENTRY>, Int, Pointer<Uint8>, ossl_ssize_t)>(ffi.Pointer<X509_NAME_ENTRY>, ffi.Int, ffi.Pointer<ffi.Uint8>, ossl_ssize_t)>(symbol: 'bssl_dart_X509_NAME_ENTRY_set_data')
int X509_NAME_ENTRY_set_data(
  1. Pointer<X509_NAME_ENTRY> entry,
  2. int type,
  3. Pointer<Uint8> bytes,
  4. int len,
)

X509_NAME_ENTRY_set_data sets entry's value to len bytes from bytes. It returns one on success and zero on error. If len is -1, bytes must be a NUL-terminated C string and the length is determined by strlen. bytes is converted to an ASN.1 type as follows:

If type is a MBSTRING_* constant, the value is an ASN.1 string. The string is determined by decoding bytes in the encoding specified by type, and then re-encoding it in a form appropriate for entry's attribute type. See ASN1_STRING_set_by_NID for details.

Otherwise, the value is an ASN1_STRING with type type and value bytes. See ASN1_STRING for how to format ASN.1 types as an ASN1_STRING. If type is V_ASN1_UNDEF the previous ASN1_STRING type is reused.

Implementation

@meta.RecordUse()
@ffi.Native<
  ffi.Int Function(
    ffi.Pointer<X509_NAME_ENTRY>,
    ffi.Int,
    ffi.Pointer<ffi.Uint8>,
    ossl_ssize_t,
  )
>(symbol: 'bssl_dart_X509_NAME_ENTRY_set_data')
external int X509_NAME_ENTRY_set_data(
  ffi.Pointer<X509_NAME_ENTRY> entry,
  int type,
  ffi.Pointer<ffi.Uint8> bytes,
  int len,
);