PKCS-Schemes

NAME

    PKCS Algorithm Schemes

DESCRIPTION

Supported PKCS algorithm scheme names. Different algorithms can be implemented in different ways to conform differnet standards and protocols. The scheme defines these ways. The scheme is given as argument to silc_pkcs_find_algorithm.

SOURCE

/* PKCS #1 version 2.x.  This performs RSASSA-PKCS-v1_5 and RSAES-PKCS-v1_5
   with hash OID in the signature data (signature with appendix).  This can
   be used with SILC_PKCS_ALG_RSA.  Default hash function used with
   signatures is SHA-1. */
#define SILC_PKCS_SCHEME_PKCS1          "pkcs1"

/* PKCS #1 version 2.x.  Same as SILC_PKCS_SCHEME_PKCS1 but the hash OID
   is not present in the signature data.  This can be used with
   SILC_PKCS_ALG_RSA.  Default hash function used with signatures is SHA-1. */
#define SILC_PKCS_SCHEME_PKCS1_NO_OID   "pkcs1-no-oid"

/* The Digital Signature Standard, FIPS 186-3.  The latest DSS standard
   version.  The key parameters and hash function used are derived
   automatically by the key length and the signature length is variable.
   This can be used with SILC_PKCS_ALG_DSA. */
#define SILC_PKCS_SCHEME_DSS            "dss"

/* The Digital Signature Standard, FIPS 186-2.  Same as the
   SILC_PKCS_SCHEME_DSS but the signature length is always 160 bits and
   hash function used is SHA-1.  This is the most widely used DSS version
   (<= year 2008).  This can be used with SILC_PKCS_ALG_DSA.  This is
   compatible with SILC_PKCS_ALG_DSS when verifying signatures, but cannot
   necessarily create compatible signature. */
#define SILC_PKCS_SCHEME_DSS_FIPS186_2  "dss-fips186-2"

#ifdef SILC_DIST_SSH
/* The SSH2 protocol scheme.  This can be used with SILC_PKCS_ALG_RSA and
   SILC_PKCS_ALG_DSA.  When used the algorithms behave as defined in the
   SSH2 protocol. */
#define SILC_PKCS_SCHEME_SSH            "ssh"
#endif /* SILC_DIST_SSH */

#ifdef SILC_DIST_PGP
/* The OpenPGP protocol scheme.  This can be used with SILC_PKCS_ALG_RSA and
   SILC_PKCS_ALG_DSA.  When used the algorithms behave as defined in the
   OpenPGP protocol. */
#define SILC_PKCS_SCHEME_OPENPGP        "openpgp"
#endif /* SILC_DIST_PGP */