EVP_AEAD_CTX_seal encrypts and authenticates the input and authenticates
any additional data (AD), the result being written as output. One is
returned on success, otherwise zero.
This function may be called (with the same EVP_AEAD_CTX) concurrently with
itself or EVP_AEAD_CTX_open.
At most max_out_len bytes are written as output and, in order to ensure
success, this value should be the length of the input plus the result of
EVP_AEAD_overhead. On successful return, out_len is set to the actual
number of bytes written.
The length of the nonce is must be equal to the result of
EVP_AEAD_nonce_length for this AEAD.
EVP_AEAD_CTX_seal never results in a partial output. If max_out_len is
insufficient, zero will be returned and out_len will be set to zero.
If the input and output are aliased then out must be <= in.
EVP_AEAD_CTX_seal encrypts and authenticates the input and authenticates any additional data (AD), the result being written as output. One is returned on success, otherwise zero.
This function may be called (with the same EVP_AEAD_CTX) concurrently with itself or EVP_AEAD_CTX_open.
At most max_out_len bytes are written as output and, in order to ensure success, this value should be the length of the input plus the result of EVP_AEAD_overhead. On successful return, out_len is set to the actual number of bytes written.
The length of the nonce is must be equal to the result of EVP_AEAD_nonce_length for this AEAD.
EVP_AEAD_CTX_seal never results in a partial output. If max_out_len is insufficient, zero will be returned and out_len will be set to zero.
If the input and output are aliased then out must be <= in.