gnutls-x509.htmlPrev ch01.htmlUp index.htmlHome GNU TLS API Reference Manual gnutls-openpgp.htmlNext #top_of_pageTop                    | 
                  
#descDescription pkcs12
pkcs12 — 
Synopsis
            
gnutls-pkcs12.html#gnutls-pkcs12-intgnutls_pkcs12_int ;
enum        
gnutls-pkcs12.html#gnutls-pkcs12-bag-type-tgnutls_pkcs12_bag_type_t ;
#define     
gnutls-pkcs12.html#MAX-BAG-ELEMENTS:CAPSMAX_BAG_ELEMENTS struct      
gnutls-pkcs12.html#bag-elementbag_element ;
            
gnutls-pkcs12.html#gnutls-pkcs12-bag-intgnutls_pkcs12_bag_int ;
#define     
gnutls-pkcs12.html#BAG-PKCS8-KEY:CAPSBAG_PKCS8_KEY #define     
gnutls-pkcs12.html#BAG-PKCS8-ENCRYPTED-KEY:CAPSBAG_PKCS8_ENCRYPTED_KEY #define     
gnutls-pkcs12.html#BAG-CERTIFICATE:CAPSBAG_CERTIFICATE #define     
gnutls-pkcs12.html#BAG-CRL:CAPSBAG_CRL #define     
gnutls-pkcs12.html#DATA-OID:CAPSDATA_OID #define     
gnutls-pkcs12.html#ENC-DATA-OID:CAPSENC_DATA_OID #define     
gnutls-pkcs12.html#FRIENDLY-NAME-OID:CAPSFRIENDLY_NAME_OID #define     
gnutls-pkcs12.html#KEY-ID-OID:CAPSKEY_ID_OID typedef     
gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t ;
typedef     
gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t ;
int         
gnutls-pkcs12.html#gnutls-pkcs12-initgnutls_pkcs12_init               ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  *pkcs12);
../gss/gss-ext.html#voidvoid         gnutls-pkcs12.html#gnutls-pkcs12-deinitgnutls_pkcs12_deinit             ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12);
int         
gnutls-pkcs12.html#gnutls-pkcs12-importgnutls_pkcs12_import             ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12,
                                             const 
gnutls-gnutls.html#gnutls-datum-tgnutls_datum_t  *data,
                                             
gnutls-gnutls.html#gnutls-x509-crt-fmt-tgnutls_x509_crt_fmt_t  format,
                                             unsigned int flags);
int         
gnutls-pkcs12.html#gnutls-pkcs12-get-baggnutls_pkcs12_get_bag            ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12,
                                             int indx,
                                             
gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  bag);
int         
gnutls-pkcs12.html#gnutls-pkcs12-bag-initgnutls_pkcs12_bag_init           ( gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  *bag);
../gss/gss-ext.html#voidvoid         gnutls-pkcs12.html#gnutls-pkcs12-bag-deinitgnutls_pkcs12_bag_deinit         ( gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  bag);
enum        
gnutls-pkcs12.html#schema-idschema_id ;
Description
Details
gnutls_pkcs12_int
typedef struct {
    ASN1_TYPE pkcs12;
} gnutls_pkcs12_int;
enum gnutls_pkcs12_bag_type_t
typedef enum gnutls_pkcs12_bag_type_t {
    GNUTLS_BAG_EMPTY = 0,
    GNUTLS_BAG_PKCS8_ENCRYPTED_KEY = 1,
    GNUTLS_BAG_PKCS8_KEY,
    GNUTLS_BAG_CERTIFICATE,
    GNUTLS_BAG_CRL,
    GNUTLS_BAG_ENCRYPTED = 10,
    GNUTLS_BAG_UNKNOWN = 20
} gnutls_pkcs12_bag_type_t;
MAX_BAG_ELEMENTS
#define     MAX_BAG_ELEMENTS
struct bag_element
struct bag_element {
    gnutls_datum_t data;
    gnutls_pkcs12_bag_type_t type;
    gnutls_datum_t local_key_id;
    char *friendly_name;
};
gnutls_pkcs12_bag_int
typedef struct {
    struct bag_element element[MAX_BAG_ELEMENTS];
    int bag_elements;
} gnutls_pkcs12_bag_int;
BAG_PKCS8_KEY
#define     BAG_PKCS8_KEY
BAG_PKCS8_ENCRYPTED_KEY
#define     BAG_PKCS8_ENCRYPTED_KEY
BAG_CERTIFICATE
#define     BAG_CERTIFICATE
BAG_CRL
#define     BAG_CRL
DATA_OID
#define     DATA_OID
ENC_DATA_OID
#define     ENC_DATA_OID
FRIENDLY_NAME_OID
#define     FRIENDLY_NAME_OID
KEY_ID_OID
#define     KEY_ID_OID
gnutls_pkcs12_t
gnutls_pkcs12_bag_t
gnutls_pkcs12_init ()
int         gnutls_pkcs12_init              ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  *pkcs12);This function will initialize a PKCS12 structure. PKCS12 structures
usually contain lists of X.509 Certificates and X.509 Certificate
revocation lists.
pkcs12 : Returns : gnutls_pkcs12_deinit ()
../gss/gss-ext.html#voidvoid         gnutls_pkcs12_deinit            ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12);This function will deinitialize a PKCS12 structure.
pkcs12 : gnutls_pkcs12_import ()
int         gnutls_pkcs12_import            ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12,
                                             const 
gnutls-gnutls.html#gnutls-datum-tgnutls_datum_t  *data,
                                             
gnutls-gnutls.html#gnutls-x509-crt-fmt-tgnutls_x509_crt_fmt_t  format,
                                             unsigned int flags);
This function will convert the given DER or PEM encoded PKCS12
to the native gnutls_pkcs12_t format. The output will be stored in 'pkcs12'.
If the PKCS12 is PEM encoded it should have a header of "PKCS12".
pkcs12 : data : format : flags : Returns : gnutls_pkcs12_get_bag ()
int         gnutls_pkcs12_get_bag           ( gnutls-pkcs12.html#gnutls-pkcs12-tgnutls_pkcs12_t  pkcs12,
                                             int indx,
                                             
gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  bag);This function will return a Bag from the PKCS12 structure.
pkcs12 : indx : bag : Returns : gnutls_pkcs12_bag_init ()
int         gnutls_pkcs12_bag_init          ( gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  *bag);This function will initialize a PKCS12 bag structure. PKCS12 Bags
usually contain private keys, lists of X.509 Certificates and X.509 Certificate
revocation lists.
bag : Returns : gnutls_pkcs12_bag_deinit ()
../gss/gss-ext.html#voidvoid         gnutls_pkcs12_bag_deinit        ( gnutls-pkcs12.html#gnutls-pkcs12-bag-tgnutls_pkcs12_bag_t  bag);This function will deinitialize a PKCS12 Bag structure.
bag : enum schema_id
typedef enum schema_id {
    PBES2,			/* the stuff in PKCS #5 */
    PKCS12_3DES_SHA1,		/* the fucking stuff in PKCS #12 */
    PKCS12_ARCFOUR_SHA1,
    PKCS12_RC2_40_SHA1
} schema_id;
