Blame doc/pkcs7-api.texi

Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_add_attr
Packit 549fdc
@anchor{gnutls_pkcs7_add_attr}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_add_attr} (gnutls_pkcs7_attrs_t * @var{list}, const char * @var{oid}, gnutls_datum_t * @var{data}, unsigned @var{flags})
Packit 549fdc
@var{list}: A list of existing attributes or pointer to @code{NULL}  for the first one
Packit 549fdc
Packit 549fdc
@var{oid}: the OID of the attribute to be set
Packit 549fdc
Packit 549fdc
@var{data}: the raw (DER-encoded) data of the attribute to be set
Packit 549fdc
Packit 549fdc
@var{flags}: zero or @code{GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING} 
Packit 549fdc
Packit 549fdc
This function will set a PKCS @code{7}  attribute in the provided list.
Packit 549fdc
If this function fails, the previous list would be deallocated.
Packit 549fdc
Packit 549fdc
Note that any attributes set with this function must either be
Packit 549fdc
DER or BER encoded, unless a special flag is present.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, the new list head, otherwise @code{NULL} .
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_attrs_deinit
Packit 549fdc
@anchor{gnutls_pkcs7_attrs_deinit}
Packit 549fdc
@deftypefun {void} {gnutls_pkcs7_attrs_deinit} (gnutls_pkcs7_attrs_t @var{list})
Packit 549fdc
@var{list}: A list of existing attributes
Packit 549fdc
Packit 549fdc
This function will clear a PKCS @code{7}  attribute list.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_deinit
Packit 549fdc
@anchor{gnutls_pkcs7_deinit}
Packit 549fdc
@deftypefun {void} {gnutls_pkcs7_deinit} (gnutls_pkcs7_t @var{pkcs7})
Packit 549fdc
@var{pkcs7}: the type to be deinitialized
Packit 549fdc
Packit 549fdc
This function will deinitialize a PKCS7 type.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_delete_crl
Packit 549fdc
@anchor{gnutls_pkcs7_delete_crl}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_delete_crl} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{indx}: the index of the crl to delete
Packit 549fdc
Packit 549fdc
This function will delete a crl from a PKCS7 or RFC2630 crl set.
Packit 549fdc
Index starts from 0. Returns 0 on success.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_delete_crt
Packit 549fdc
@anchor{gnutls_pkcs7_delete_crt}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_delete_crt} (gnutls_pkcs7_t @var{pkcs7}, int @var{indx})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{indx}: the index of the certificate to delete
Packit 549fdc
Packit 549fdc
This function will delete a certificate from a PKCS7 or RFC2630
Packit 549fdc
certificate set.  Index starts from 0. Returns 0 on success.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_export
Packit 549fdc
@anchor{gnutls_pkcs7_export}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_export} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_fmt_t @var{format}, void * @var{output_data}, size_t * @var{output_data_size})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{format}: the format of output params. One of PEM or DER.
Packit 549fdc
Packit 549fdc
@var{output_data}: will contain a structure PEM or DER encoded
Packit 549fdc
Packit 549fdc
@var{output_data_size}: holds the size of output_data (and will be
Packit 549fdc
replaced by the actual size of parameters)
Packit 549fdc
Packit 549fdc
This function will export the pkcs7 structure to DER or PEM format.
Packit 549fdc
Packit 549fdc
If the buffer provided is not long enough to hold the output, then
Packit 549fdc
* @code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} 
Packit 549fdc
will be returned.
Packit 549fdc
Packit 549fdc
If the structure is PEM encoded, it will have a header
Packit 549fdc
of "BEGIN PKCS7".
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_export2
Packit 549fdc
@anchor{gnutls_pkcs7_export2}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_export2} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_fmt_t @var{format}, gnutls_datum_t * @var{out})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{format}: the format of output params. One of PEM or DER.
Packit 549fdc
Packit 549fdc
@var{out}: will contain a structure PEM or DER encoded
Packit 549fdc
Packit 549fdc
This function will export the pkcs7 structure to DER or PEM format.
Packit 549fdc
Packit 549fdc
The output buffer is allocated using @code{gnutls_malloc()} .
Packit 549fdc
Packit 549fdc
If the structure is PEM encoded, it will have a header
Packit 549fdc
of "BEGIN PKCS7".
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.1.3
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_attr
Packit 549fdc
@anchor{gnutls_pkcs7_get_attr}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_attr} (gnutls_pkcs7_attrs_t @var{list}, unsigned @var{idx}, char ** @var{oid}, gnutls_datum_t * @var{data}, unsigned @var{flags})
Packit 549fdc
@var{list}: A list of existing attributes or @code{NULL}  for the first one
Packit 549fdc
Packit 549fdc
@var{idx}: the index of the attribute to get
Packit 549fdc
Packit 549fdc
@var{oid}: the OID of the attribute (read-only)
Packit 549fdc
Packit 549fdc
@var{data}: the raw data of the attribute
Packit 549fdc
Packit 549fdc
@var{flags}: zero or @code{GNUTLS_PKCS7_ATTR_ENCODE_OCTET_STRING} 
Packit 549fdc
Packit 549fdc
This function will get a PKCS @code{7}  attribute from the provided list.
Packit 549fdc
The OID is a constant string, but data will be allocated and must be
Packit 549fdc
deinitialized by the caller.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value. @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  is returned
Packit 549fdc
if there are no data in the current index.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crl_count
Packit 549fdc
@anchor{gnutls_pkcs7_get_crl_count}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crl_count} (gnutls_pkcs7_t @var{pkcs7})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
This function will return the number of certificates in the PKCS7
Packit 549fdc
or RFC2630 crl set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crl_raw
Packit 549fdc
@anchor{gnutls_pkcs7_get_crl_raw}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{indx}, void * @var{crl}, size_t * @var{crl_size})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{indx}: contains the index of the crl to extract
Packit 549fdc
Packit 549fdc
@var{crl}: the contents of the crl will be copied there (may be null)
Packit 549fdc
Packit 549fdc
@var{crl_size}: should hold the size of the crl
Packit 549fdc
Packit 549fdc
This function will return a crl of the PKCS7 or RFC2630 crl set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.  If the provided buffer is not long enough,
Packit 549fdc
then  @code{crl_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER}  is
Packit 549fdc
returned.  After the last crl has been read
Packit 549fdc
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  will be returned.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crl_raw2
Packit 549fdc
@anchor{gnutls_pkcs7_get_crl_raw2}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crl_raw2} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{indx}, gnutls_datum_t * @var{crl})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{indx}: contains the index of the crl to extract
Packit 549fdc
Packit 549fdc
@var{crl}: will contain the contents of the CRL in an allocated buffer
Packit 549fdc
Packit 549fdc
This function will return a DER encoded CRL of the PKCS7 or RFC2630 crl set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.  After the last crl has been read
Packit 549fdc
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  will be returned.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crt_count
Packit 549fdc
@anchor{gnutls_pkcs7_get_crt_count}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crt_count} (gnutls_pkcs7_t @var{pkcs7})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
This function will return the number of certificates in the PKCS7
Packit 549fdc
or RFC2630 certificate set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, a positive number is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crt_raw
Packit 549fdc
@anchor{gnutls_pkcs7_get_crt_raw}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{indx}, void * @var{certificate}, size_t * @var{certificate_size})
Packit 549fdc
@var{pkcs7}: should contain a gnutls_pkcs7_t type
Packit 549fdc
Packit 549fdc
@var{indx}: contains the index of the certificate to extract
Packit 549fdc
Packit 549fdc
@var{certificate}: the contents of the certificate will be copied
Packit 549fdc
there (may be null)
Packit 549fdc
Packit 549fdc
@var{certificate_size}: should hold the size of the certificate
Packit 549fdc
Packit 549fdc
This function will return a certificate of the PKCS7 or RFC2630
Packit 549fdc
certificate set.
Packit 549fdc
Packit 549fdc
After the last certificate has been read
Packit 549fdc
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  will be returned.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.  If the provided buffer is not long enough,
Packit 549fdc
then  @code{certificate_size} is updated and
Packit 549fdc
@code{GNUTLS_E_SHORT_MEMORY_BUFFER}  is returned.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_crt_raw2
Packit 549fdc
@anchor{gnutls_pkcs7_get_crt_raw2}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_crt_raw2} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{indx}, gnutls_datum_t * @var{cert})
Packit 549fdc
@var{pkcs7}: should contain a gnutls_pkcs7_t type
Packit 549fdc
Packit 549fdc
@var{indx}: contains the index of the certificate to extract
Packit 549fdc
Packit 549fdc
@var{cert}: will hold the contents of the certificate; must be deallocated with @code{gnutls_free()} 
Packit 549fdc
Packit 549fdc
This function will return a certificate of the PKCS7 or RFC2630
Packit 549fdc
certificate set.
Packit 549fdc
Packit 549fdc
After the last certificate has been read
Packit 549fdc
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  will be returned.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.  If the provided buffer is not long enough,
Packit 549fdc
then  @code{certificate_size} is updated and
Packit 549fdc
@code{GNUTLS_E_SHORT_MEMORY_BUFFER}  is returned.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_embedded_data
Packit 549fdc
@anchor{gnutls_pkcs7_get_embedded_data}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_embedded_data} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{flags}, gnutls_datum_t * @var{data})
Packit 549fdc
@var{pkcs7}: should contain a gnutls_pkcs7_t type
Packit 549fdc
Packit 549fdc
@var{flags}: must be zero or @code{GNUTLS_PKCS7_EDATA_GET_RAW} 
Packit 549fdc
Packit 549fdc
@var{data}: will hold the embedded data in the provided structure
Packit 549fdc
Packit 549fdc
This function will return the data embedded in the signature of
Packit 549fdc
the PKCS7 structure. If no data are available then
Packit 549fdc
@code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE}  will be returned.
Packit 549fdc
Packit 549fdc
The returned data must be de-allocated using @code{gnutls_free()} .
Packit 549fdc
Packit 549fdc
Note, that this function returns the exact same data that are
Packit 549fdc
authenticated. If the @code{GNUTLS_PKCS7_EDATA_GET_RAW}  flag is provided,
Packit 549fdc
the returned data will be including the wrapping tag/value as
Packit 549fdc
they are encoded in the structure.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.8
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_embedded_data_oid
Packit 549fdc
@anchor{gnutls_pkcs7_get_embedded_data_oid}
Packit 549fdc
@deftypefun {const char *} {gnutls_pkcs7_get_embedded_data_oid} (gnutls_pkcs7_t @var{pkcs7})
Packit 549fdc
@var{pkcs7}: should contain a gnutls_pkcs7_t type
Packit 549fdc
Packit 549fdc
This function will return the OID of the data embedded in the signature of
Packit 549fdc
the PKCS7 structure. If no data are available then @code{NULL}  will be
Packit 549fdc
returned. The returned value will be valid during the lifetime
Packit 549fdc
of the  @code{pkcs7} structure.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, a pointer to an OID string, @code{NULL}  on error.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.5.5
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_signature_count
Packit 549fdc
@anchor{gnutls_pkcs7_get_signature_count}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_signature_count} (gnutls_pkcs7_t @var{pkcs7})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
This function will return the number of signatures in the PKCS7
Packit 549fdc
structure.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, a positive number is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.3
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_get_signature_info
Packit 549fdc
@anchor{gnutls_pkcs7_get_signature_info}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_get_signature_info} (gnutls_pkcs7_t @var{pkcs7}, unsigned @var{idx}, gnutls_pkcs7_signature_info_st * @var{info})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
@var{idx}: the index of the signature info to check
Packit 549fdc
Packit 549fdc
@var{info}: will contain the output signature
Packit 549fdc
Packit 549fdc
This function will return information about the signature identified
Packit 549fdc
by idx in the provided PKCS @code{7}  structure. The information should be
Packit 549fdc
deinitialized using @code{gnutls_pkcs7_signature_info_deinit()} .
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_import
Packit 549fdc
@anchor{gnutls_pkcs7_import}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_import} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{data}, gnutls_x509_crt_fmt_t @var{format})
Packit 549fdc
@var{pkcs7}: The data to store the parsed PKCS7.
Packit 549fdc
Packit 549fdc
@var{data}: The DER or PEM encoded PKCS7.
Packit 549fdc
Packit 549fdc
@var{format}: One of DER or PEM
Packit 549fdc
Packit 549fdc
This function will convert the given DER or PEM encoded PKCS7 to
Packit 549fdc
the native @code{gnutls_pkcs7_t}  format.  The output will be stored in
Packit 549fdc
 @code{pkcs7} .
Packit 549fdc
Packit 549fdc
If the PKCS7 is PEM encoded it should have a header of "PKCS7".
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_init
Packit 549fdc
@anchor{gnutls_pkcs7_init}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_init} (gnutls_pkcs7_t * @var{pkcs7})
Packit 549fdc
@var{pkcs7}: A pointer to the type to be initialized
Packit 549fdc
Packit 549fdc
This function will initialize a PKCS7 structure. PKCS7 structures
Packit 549fdc
usually contain lists of X.509 Certificates and X.509 Certificate
Packit 549fdc
revocation lists.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_print
Packit 549fdc
@anchor{gnutls_pkcs7_print}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_print} (gnutls_pkcs7_t @var{pkcs7}, gnutls_certificate_print_formats_t @var{format}, gnutls_datum_t * @var{out})
Packit 549fdc
@var{pkcs7}: The PKCS7 struct to be printed
Packit 549fdc
Packit 549fdc
@var{format}: Indicate the format to use
Packit 549fdc
Packit 549fdc
@var{out}: Newly allocated datum with null terminated string.
Packit 549fdc
Packit 549fdc
This function will pretty print a signed PKCS @code{7}  structure, suitable for
Packit 549fdc
display to a human.
Packit 549fdc
Packit 549fdc
Currently the supported formats are @code{GNUTLS_CRT_PRINT_FULL}  and
Packit 549fdc
@code{GNUTLS_CRT_PRINT_COMPACT} .
Packit 549fdc
Packit 549fdc
The output  @code{out} needs to be deallocated using @code{gnutls_free()} .
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_set_crl
Packit 549fdc
@anchor{gnutls_pkcs7_set_crl}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_set_crl} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crl_t @var{crl})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{crl}: the DER encoded crl to be added
Packit 549fdc
Packit 549fdc
This function will add a parsed CRL to the PKCS7 or RFC2630 crl
Packit 549fdc
set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_set_crl_raw
Packit 549fdc
@anchor{gnutls_pkcs7_set_crl_raw}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_set_crl_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crl})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{crl}: the DER encoded crl to be added
Packit 549fdc
Packit 549fdc
This function will add a crl to the PKCS7 or RFC2630 crl set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_set_crt
Packit 549fdc
@anchor{gnutls_pkcs7_set_crt}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_set_crt} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_t @var{crt})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{crt}: the certificate to be copied.
Packit 549fdc
Packit 549fdc
This function will add a parsed certificate to the PKCS7 or
Packit 549fdc
RFC2630 certificate set.  This is a wrapper function over
Packit 549fdc
@code{gnutls_pkcs7_set_crt_raw()}  .
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_set_crt_raw
Packit 549fdc
@anchor{gnutls_pkcs7_set_crt_raw}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_set_crt_raw} (gnutls_pkcs7_t @var{pkcs7}, const gnutls_datum_t * @var{crt})
Packit 549fdc
@var{pkcs7}: The pkcs7 type
Packit 549fdc
Packit 549fdc
@var{crt}: the DER encoded certificate to be added
Packit 549fdc
Packit 549fdc
This function will add a certificate to the PKCS7 or RFC2630
Packit 549fdc
certificate set.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_sign
Packit 549fdc
@anchor{gnutls_pkcs7_sign}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_sign} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_t @var{signer}, gnutls_privkey_t @var{signer_key}, const gnutls_datum_t * @var{data}, gnutls_pkcs7_attrs_t @var{signed_attrs}, gnutls_pkcs7_attrs_t @var{unsigned_attrs}, gnutls_digest_algorithm_t @var{dig}, unsigned @var{flags})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
@var{signer}: the certificate to sign the structure
Packit 549fdc
Packit 549fdc
@var{signer_key}: the key to sign the structure
Packit 549fdc
Packit 549fdc
@var{data}: The data to be signed or @code{NULL}  if the data are already embedded
Packit 549fdc
Packit 549fdc
@var{signed_attrs}: Any additional attributes to be included in the signed ones (or @code{NULL} )
Packit 549fdc
Packit 549fdc
@var{unsigned_attrs}: Any additional attributes to be included in the unsigned ones (or @code{NULL} )
Packit 549fdc
Packit 549fdc
@var{dig}: The digest algorithm to use for signing
Packit 549fdc
Packit 549fdc
@var{flags}: Should be zero or one of @code{GNUTLS_PKCS7}  flags
Packit 549fdc
Packit 549fdc
This function will add a signature in the provided PKCS @code{7}  structure
Packit 549fdc
for the provided data. Multiple signatures can be made with different
Packit 549fdc
signers.
Packit 549fdc
Packit 549fdc
The available flags are:
Packit 549fdc
@code{GNUTLS_PKCS7_EMBED_DATA} , @code{GNUTLS_PKCS7_INCLUDE_TIME} , @code{GNUTLS_PKCS7_INCLUDE_CERT} ,
Packit 549fdc
and @code{GNUTLS_PKCS7_WRITE_SPKI} . They are explained in the @code{gnutls_pkcs7_sign_flags} 
Packit 549fdc
definition.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value.
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_signature_info_deinit
Packit 549fdc
@anchor{gnutls_pkcs7_signature_info_deinit}
Packit 549fdc
@deftypefun {void} {gnutls_pkcs7_signature_info_deinit} (gnutls_pkcs7_signature_info_st * @var{info})
Packit 549fdc
@var{info}: should point to a @code{gnutls_pkcs7_signature_info_st}  structure
Packit 549fdc
Packit 549fdc
This function will deinitialize any allocated value in the
Packit 549fdc
provided @code{gnutls_pkcs7_signature_info_st} .
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_verify
Packit 549fdc
@anchor{gnutls_pkcs7_verify}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_verify} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_trust_list_t @var{tl}, gnutls_typed_vdata_st * @var{vdata}, unsigned int @var{vdata_size}, unsigned @var{idx}, const gnutls_datum_t * @var{data}, unsigned @var{flags})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
@var{tl}: A list of trusted certificates
Packit 549fdc
Packit 549fdc
@var{vdata}: an array of typed data
Packit 549fdc
Packit 549fdc
@var{vdata_size}: the number of data elements
Packit 549fdc
Packit 549fdc
@var{idx}: the index of the signature info to check
Packit 549fdc
Packit 549fdc
@var{data}: The data to be verified or @code{NULL} 
Packit 549fdc
Packit 549fdc
@var{flags}: Zero or an OR list of @code{gnutls_certificate_verify_flags} 
Packit 549fdc
Packit 549fdc
This function will verify the provided data against the signature
Packit 549fdc
present in the SignedData of the PKCS @code{7}  structure. If the data
Packit 549fdc
provided are NULL then the data in the encapsulatedContent field
Packit 549fdc
will be used instead.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value. A verification error results to a
Packit 549fdc
@code{GNUTLS_E_PK_SIG_VERIFY_FAILED}  and the lack of encapsulated data
Packit 549fdc
to verify to a @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} .
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc
Packit 549fdc
@subheading gnutls_pkcs7_verify_direct
Packit 549fdc
@anchor{gnutls_pkcs7_verify_direct}
Packit 549fdc
@deftypefun {int} {gnutls_pkcs7_verify_direct} (gnutls_pkcs7_t @var{pkcs7}, gnutls_x509_crt_t @var{signer}, unsigned @var{idx}, const gnutls_datum_t * @var{data}, unsigned @var{flags})
Packit 549fdc
@var{pkcs7}: should contain a @code{gnutls_pkcs7_t}  type
Packit 549fdc
Packit 549fdc
@var{signer}: the certificate believed to have signed the structure
Packit 549fdc
Packit 549fdc
@var{idx}: the index of the signature info to check
Packit 549fdc
Packit 549fdc
@var{data}: The data to be verified or @code{NULL} 
Packit 549fdc
Packit 549fdc
@var{flags}: Zero or an OR list of @code{gnutls_certificate_verify_flags} 
Packit 549fdc
Packit 549fdc
This function will verify the provided data against the signature
Packit 549fdc
present in the SignedData of the PKCS @code{7}  structure. If the data
Packit 549fdc
provided are NULL then the data in the encapsulatedContent field
Packit 549fdc
will be used instead.
Packit 549fdc
Packit 549fdc
Note that, unlike @code{gnutls_pkcs7_verify()}  this function does not
Packit 549fdc
verify the key purpose of the signer. It is expected for the caller
Packit 549fdc
to verify the intended purpose of the @code{signer}  -e.g., via @code{gnutls_x509_crt_get_key_purpose_oid()} ,
Packit 549fdc
or @code{gnutls_x509_crt_check_key_purpose()} .
Packit 549fdc
Packit 549fdc
Note also, that since GnuTLS 3.5.6 this function introduces checks in the
Packit 549fdc
end certificate ( @code{signer} ), including time checks and key usage checks.
Packit 549fdc
Packit 549fdc
@strong{Returns:} On success, @code{GNUTLS_E_SUCCESS}  (0) is returned, otherwise a
Packit 549fdc
negative error value. A verification error results to a
Packit 549fdc
@code{GNUTLS_E_PK_SIG_VERIFY_FAILED}  and the lack of encapsulated data
Packit 549fdc
to verify to a @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} .
Packit 549fdc
Packit 549fdc
@strong{Since:} 3.4.2
Packit 549fdc
@end deftypefun
Packit 549fdc