summaryrefslogtreecommitdiffstats
path: root/include/ncrypto/ncrypto.h
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-11-30 22:02:17 +0100
committerMiloslav Trmač <mitr@redhat.com>2010-11-30 22:02:17 +0100
commita2dd3a2b9045b5a787e0981bef2f378ab148ac1f (patch)
treed04873eb9d79aa116ad15df896cfc03632d4d45d /include/ncrypto/ncrypto.h
parentf40b36f1711066b7ce87dbcb247ec3646cfd998c (diff)
downloadncrypto-a2dd3a2b9045b5a787e0981bef2f378ab148ac1f.tar.gz
ncrypto-a2dd3a2b9045b5a787e0981bef2f378ab148ac1f.tar.xz
ncrypto-a2dd3a2b9045b5a787e0981bef2f378ab148ac1f.zip
Add DSA
Diffstat (limited to 'include/ncrypto/ncrypto.h')
-rw-r--r--include/ncrypto/ncrypto.h47
1 files changed, 47 insertions, 0 deletions
diff --git a/include/ncrypto/ncrypto.h b/include/ncrypto/ncrypto.h
index 07e57be..ff20d8c 100644
--- a/include/ncrypto/ncrypto.h
+++ b/include/ncrypto/ncrypto.h
@@ -138,6 +138,53 @@ CK_RV ncr_key_pair_generate_rsa (struct ncr_public_key **public_key,
CK_ULONG modulus_bits,
const struct ncr_mpi *public_exponent);
+ /* DSA keys */
+
+enum
+ {
+ NCR_DSA_PUBLIC_MPI_PRIME,
+ NCR_DSA_PUBLIC_MPI_SUBPRIME,
+ NCR_DSA_PUBLIC_MPI_BASE,
+ NCR_DSA_PUBLIC_MPI_VALUE,
+ NCR_DSA_PUBLIC_NUM_MPIS
+ };
+
+enum
+ {
+ NCR_DSA_PRIVATE_MPI_PRIME,
+ NCR_DSA_PRIVATE_MPI_SUBPRIME,
+ NCR_DSA_PRIVATE_MPI_BASE,
+ NCR_DSA_PRIVATE_MPI_VALUE,
+ NCR_DSA_PRIVATE_NUM_MPIS
+ };
+
+enum
+ {
+ NCR_DSA_GEN_MPI_PRIME,
+ NCR_DSA_GEN_MPI_SUBPRIME,
+ NCR_DSA_GEN_MPI_BASE,
+ NCR_DSA_GEN_NUM_MPIS
+ };
+
+CK_RV ncr_public_key_create_dsa (struct ncr_public_key **key,
+ const struct ncr_mpi
+ mpis[static NCR_DSA_PUBLIC_NUM_MPIS]);
+CK_RV ncr_public_key_export_dsa (struct ncr_public_key *key,
+ struct ncr_mpi
+ mpis [static NCR_DSA_PUBLIC_NUM_MPIS]);
+CK_RV ncr_private_key_create_dsa (struct ncr_private_key **key, _Bool sensitive,
+ const struct ncr_mpi
+ mpis[static NCR_DSA_PRIVATE_NUM_MPIS],
+ const struct ncr_mpi *public_value);
+CK_RV ncr_private_key_export_dsa (struct ncr_private_key *key,
+ struct ncr_mpi
+ mpis[static NCR_DSA_PRIVATE_NUM_MPIS]);
+CK_RV ncr_key_pair_generate_dsa (struct ncr_public_key **public_key,
+ struct ncr_private_key **private_key,
+ CK_MECHANISM_TYPE mech, _Bool sensitive,
+ const struct ncr_mpi
+ mpis[static NCR_DSA_GEN_NUM_MPIS]);
+
/* Asymmetric operations */
CK_RV ncr_public_key_encrypt (CK_MECHANISM_TYPE mech,