From 1fe62d241647614ea275fdaf0334ca3cec0a3505 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 20 Nov 2024 17:09:46 +0100 Subject: rename headers for consistency --- src/util/Makefile.am | 12 +- src/util/crypto_helper_cs.c | 2 +- src/util/crypto_helper_esign.c | 2 +- src/util/crypto_helper_rsa.c | 2 +- src/util/secmod_cs.c | 2 +- src/util/secmod_cs.h | 319 +++++++++++++++++++++++++++++++++ src/util/secmod_eddsa.c | 2 +- src/util/secmod_eddsa.h | 202 +++++++++++++++++++++ src/util/secmod_rsa.c | 2 +- src/util/secmod_rsa.h | 223 +++++++++++++++++++++++ src/util/taler-exchange-secmod-cs.h | 319 --------------------------------- src/util/taler-exchange-secmod-eddsa.h | 202 --------------------- src/util/taler-exchange-secmod-rsa.h | 223 ----------------------- 13 files changed, 756 insertions(+), 756 deletions(-) create mode 100644 src/util/secmod_cs.h create mode 100644 src/util/secmod_eddsa.h create mode 100644 src/util/secmod_rsa.h delete mode 100644 src/util/taler-exchange-secmod-cs.h delete mode 100644 src/util/taler-exchange-secmod-eddsa.h delete mode 100644 src/util/taler-exchange-secmod-rsa.h diff --git a/src/util/Makefile.am b/src/util/Makefile.am index b4315ddea..cad54b8b9 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -49,7 +49,7 @@ taler_exchange_config_LDADD = \ $(XLIB) taler_exchange_secmod_rsa_SOURCES = \ - taler-exchange-secmod-rsa.c taler-exchange-secmod-rsa.h + taler-exchange-secmod-rsa.c taler_exchange_secmod_rsa_LDADD = \ libtalerutil.la \ -lgnunetutil \ @@ -58,7 +58,7 @@ taler_exchange_secmod_rsa_LDADD = \ $(XLIB) taler_exchange_secmod_cs_SOURCES = \ - taler-exchange-secmod-cs.c taler-exchange-secmod-cs.h + taler-exchange-secmod-cs.c taler_exchange_secmod_cs_LDADD = \ libtalerutil.la \ -lgnunetutil \ @@ -67,7 +67,7 @@ taler_exchange_secmod_cs_LDADD = \ $(XLIB) taler_exchange_secmod_eddsa_SOURCES = \ - taler-exchange-secmod-eddsa.c taler-exchange-secmod-eddsa.h + taler-exchange-secmod-eddsa.c taler_exchange_secmod_eddsa_LDADD = \ libtalerutil.la \ -lgnunetutil \ @@ -103,9 +103,9 @@ libtalerutil_la_SOURCES = \ offline_signatures.c \ payto.c \ secmod_common.c secmod_common.h \ - secmod_cs.c \ - secmod_eddsa.c \ - secmod_rsa.c \ + secmod_cs.c secmod_cs.h \ + secmod_eddsa.c secmod_eddsa.h \ + secmod_rsa.c secmod_rsa.h \ secmod_signatures.c \ taler_error_codes.c \ tokens.c \ diff --git a/src/util/crypto_helper_cs.c b/src/util/crypto_helper_cs.c index d423ae640..72e079811 100644 --- a/src/util/crypto_helper_cs.c +++ b/src/util/crypto_helper_cs.c @@ -21,7 +21,7 @@ #include "platform.h" #include "taler_util.h" #include "taler_signatures.h" -#include "taler-exchange-secmod-cs.h" +#include "secmod_cs.h" #include #include "crypto_helper_common.h" diff --git a/src/util/crypto_helper_esign.c b/src/util/crypto_helper_esign.c index 4c46cec56..fa884b112 100644 --- a/src/util/crypto_helper_esign.c +++ b/src/util/crypto_helper_esign.c @@ -21,7 +21,7 @@ #include "platform.h" #include "taler_util.h" #include "taler_signatures.h" -#include "taler-exchange-secmod-eddsa.h" +#include "secmod_eddsa.h" #include #include "crypto_helper_common.h" diff --git a/src/util/crypto_helper_rsa.c b/src/util/crypto_helper_rsa.c index df14c9100..b99d468ad 100644 --- a/src/util/crypto_helper_rsa.c +++ b/src/util/crypto_helper_rsa.c @@ -22,7 +22,7 @@ #include "taler_util.h" #include "taler_signatures.h" #include "crypto_helper_common.h" -#include "taler-exchange-secmod-rsa.h" +#include "secmod_rsa.h" #include diff --git a/src/util/secmod_cs.c b/src/util/secmod_cs.c index 54a5789e6..7a7d29846 100644 --- a/src/util/secmod_cs.c +++ b/src/util/secmod_cs.c @@ -33,7 +33,7 @@ */ #include "platform.h" #include "taler_util.h" -#include "taler-exchange-secmod-cs.h" +#include "secmod_cs.h" #include #include #include diff --git a/src/util/secmod_cs.h b/src/util/secmod_cs.h new file mode 100644 index 000000000..0321335da --- /dev/null +++ b/src/util/secmod_cs.h @@ -0,0 +1,319 @@ +/* + This file is part of TALER + Copyright (C) 2020-2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see +*/ +/** + * @file util/taler-exchange-secmod-cs.h + * @brief IPC messages for the CS crypto helper. + * @author Christian Grothoff + * @author Gian Demarmels + * @author Lucien Heuzeveldt + */ +#ifndef TALER_EXCHANGE_SECMOD_CS_H +#define TALER_EXCHANGE_SECMOD_CS_H + +#define TALER_HELPER_CS_MT_PURGE 1 +#define TALER_HELPER_CS_MT_AVAIL 2 + +#define TALER_HELPER_CS_MT_REQ_INIT 3 +#define TALER_HELPER_CS_MT_REQ_BATCH_SIGN 4 +#define TALER_HELPER_CS_MT_REQ_SIGN 5 +#define TALER_HELPER_CS_MT_REQ_REVOKE 6 +#define TALER_HELPER_CS_MT_REQ_BATCH_RDERIVE 7 +#define TALER_HELPER_CS_MT_REQ_RDERIVE 8 + +#define TALER_HELPER_CS_MT_RES_SIGNATURE 9 +#define TALER_HELPER_CS_MT_RES_SIGN_FAILURE 10 +#define TALER_HELPER_CS_MT_RES_BATCH_SIGN_FAILURE 11 +#define TALER_HELPER_CS_MT_RES_RDERIVE 12 +#define TALER_HELPER_CS_MT_RES_RDERIVE_FAILURE 13 +#define TALER_HELPER_CS_MT_RES_BATCH_RDERIVE_FAILURE 14 + +#define TALER_HELPER_CS_SYNCED 15 + +GNUNET_NETWORK_STRUCT_BEGIN + + +/** + * Message sent if a key is available. + */ +struct TALER_CRYPTO_CsKeyAvailableNotification +{ + /** + * Type is #TALER_HELPER_CS_MT_AVAIL + */ + struct GNUNET_MessageHeader header; + + /** + * Number of bytes of the section name. + */ + uint32_t section_name_len; + + /** + * When does the key become available? + */ + struct GNUNET_TIME_TimestampNBO anchor_time; + + /** + * How long is the key available after @e anchor_time? + */ + struct GNUNET_TIME_RelativeNBO duration_withdraw; + + /** + * Public key used to generate the @e sicm_sig. + */ + struct TALER_SecurityModulePublicKeyP secm_pub; + + /** + * Signature affirming the announcement, of + * purpose #TALER_SIGNATURE_SM_CS_DENOMINATION_KEY. + */ + struct TALER_SecurityModuleSignatureP secm_sig; + + /** + * Denomination Public key + */ + struct GNUNET_CRYPTO_CsPublicKey denom_pub; + + /* followed by @e section_name bytes of the configuration section name + of the denomination of this key */ + +}; + + +/** + * Message sent if a key was purged. + */ +struct TALER_CRYPTO_CsKeyPurgeNotification +{ + /** + * Type is #TALER_HELPER_CS_MT_PURGE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the purged CS key. + */ + struct TALER_CsPubHashP h_cs; + +}; + + +/** + * Message sent if a signature is requested. + */ +struct TALER_CRYPTO_CsSignRequestMessage +{ + /** + * Type is #TALER_HELPER_CS_MT_REQ_SIGN. + */ + struct GNUNET_MessageHeader header; + + /** + * 0 for withdraw, 1 for melt, in NBO. + */ + uint32_t for_melt; + + /** + * Hash of the public key of the CS key to use for the signature. + */ + struct TALER_CsPubHashP h_cs; + + /** + * Message to sign. + */ + struct GNUNET_CRYPTO_CsBlindedMessage message; + +}; + + +/** + * Message sent if a batch of signatures is requested. + */ +struct TALER_CRYPTO_BatchSignRequest +{ + /** + * Type is #TALER_HELPER_CS_MT_REQ_BATCH_SIGN. + */ + struct GNUNET_MessageHeader header; + + /** + * Number of signatures to create, in NBO. + */ + uint32_t batch_size; + + /* + * Followed by @e batch_size batch sign requests. + */ + +}; + + +/** + * Message sent if a signature is requested. + */ +struct TALER_CRYPTO_CsRDeriveRequest +{ + /** + * Type is #TALER_HELPER_CS_MT_REQ_RDERIVE. + */ + struct GNUNET_MessageHeader header; + + /** + * 0 for withdraw, 1 for melt, in NBO. + */ + uint32_t for_melt; + + /** + * Hash of the public key of the CS key to use for the derivation. + */ + struct TALER_CsPubHashP h_cs; + + /** + * Withdraw nonce to derive R from + */ + struct GNUNET_CRYPTO_CsSessionNonce nonce; +}; + + +/** + * Message sent if a batch of derivations is requested. + */ +struct TALER_CRYPTO_BatchDeriveRequest +{ + /** + * Type is #TALER_HELPER_CS_MT_REQ_BATCH_RDERIVE. + */ + struct GNUNET_MessageHeader header; + + /** + * Number of derivations to create, in NBO. + */ + uint32_t batch_size; + + /* + * Followed by @e batch_size derive requests. + */ + +}; + + +/** + * Message sent if a key was revoked. + */ +struct TALER_CRYPTO_CsRevokeRequest +{ + /** + * Type is #TALER_HELPER_CS_MT_REQ_REVOKE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the revoked CS key. + */ + struct TALER_CsPubHashP h_cs; + +}; + + +/** + * Message sent if a signature was successfully computed. + */ +struct TALER_CRYPTO_SignResponse +{ + /** + * Type is #TALER_HELPER_CS_MT_RES_SIGNATURE. + */ + struct GNUNET_MessageHeader header; + + /** + * The chosen 'b' (0 or 1). + */ + uint32_t b; + + /** + * Contains the blindided s. + */ + struct GNUNET_CRYPTO_CsBlindS cs_answer; +}; + +/** + * Message sent if a R is successfully derived + */ +struct TALER_CRYPTO_RDeriveResponse +{ + /** + * Type is #TALER_HELPER_CS_MT_RES_RDERIVE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Pair of derived R values + */ + struct GNUNET_CRYPTO_CSPublicRPairP r_pub; +}; + + +/** + * Message sent if signing failed. + */ +struct TALER_CRYPTO_SignFailure +{ + /** + * Type is #TALER_HELPER_CS_MT_RES_SIGN_FAILURE. + */ + struct GNUNET_MessageHeader header; + + /** + * If available, Taler error code. In NBO. + */ + uint32_t ec; + +}; + +/** + * Message sent if derivation failed. + */ +struct TALER_CRYPTO_RDeriveFailure +{ + /** + * Type is #TALER_HELPER_CS_MT_RES_RDERIVE_FAILURE. + */ + struct GNUNET_MessageHeader header; + + /** + * If available, Taler error code. In NBO. + */ + uint32_t ec; + +}; +GNUNET_NETWORK_STRUCT_END + + +#endif diff --git a/src/util/secmod_eddsa.c b/src/util/secmod_eddsa.c index 9661534a8..4e01e3c9a 100644 --- a/src/util/secmod_eddsa.c +++ b/src/util/secmod_eddsa.c @@ -34,7 +34,7 @@ */ #include "platform.h" #include "taler_util.h" -#include "taler-exchange-secmod-eddsa.h" +#include "secmod_eddsa.h" #include #include #include "taler_error_codes.h" diff --git a/src/util/secmod_eddsa.h b/src/util/secmod_eddsa.h new file mode 100644 index 000000000..c05d90a6c --- /dev/null +++ b/src/util/secmod_eddsa.h @@ -0,0 +1,202 @@ +/* + This file is part of TALER + Copyright (C) 2020 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see +*/ +/** + * @file util/taler-exchange-secmod-eddsa.h + * @brief IPC messages for the EDDSA crypto helper. + * @author Christian Grothoff + */ +#ifndef TALER_EXCHANGE_SECMOD_EDDSA_H +#define TALER_EXCHANGE_SECMOD_EDDSA_H + +#define TALER_HELPER_EDDSA_MT_PURGE 11 +#define TALER_HELPER_EDDSA_MT_AVAIL 12 + +#define TALER_HELPER_EDDSA_MT_REQ_INIT 14 +#define TALER_HELPER_EDDSA_MT_REQ_SIGN 15 +#define TALER_HELPER_EDDSA_MT_REQ_REVOKE 16 + +#define TALER_HELPER_EDDSA_MT_RES_SIGNATURE 17 +#define TALER_HELPER_EDDSA_MT_RES_SIGN_FAILURE 18 + +#define TALER_HELPER_EDDSA_SYNCED 19 + + +GNUNET_NETWORK_STRUCT_BEGIN + +/** + * Message sent if a key is available. + */ +struct TALER_CRYPTO_EddsaKeyAvailableNotification +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_AVAIL + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * When does the key become available? + */ + struct GNUNET_TIME_TimestampNBO anchor_time; + + /** + * How long is the key available after @e anchor_time? + */ + struct GNUNET_TIME_RelativeNBO duration; + + /** + * Public key used to generate the @e sicm_sig. + */ + struct TALER_SecurityModulePublicKeyP secm_pub; + + /** + * Signature affirming the announcement, of + * purpose #TALER_SIGNATURE_SM_SIGNING_KEY. + */ + struct TALER_SecurityModuleSignatureP secm_sig; + + /** + * The public key. + */ + struct TALER_ExchangePublicKeyP exchange_pub; + +}; + + +/** + * Message sent if a key was purged. + */ +struct TALER_CRYPTO_EddsaKeyPurgeNotification +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_PURGE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * The public key. + */ + struct TALER_ExchangePublicKeyP exchange_pub; + +}; + + +/** + * Message sent if a signature is requested. + */ +struct TALER_CRYPTO_EddsaSignRequest +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_REQ_SIGN. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * What should be signed over. + */ + struct GNUNET_CRYPTO_EccSignaturePurpose purpose; + + /* followed by rest of data to sign */ +}; + + +/** + * Message sent if a key was revoked. + */ +struct TALER_CRYPTO_EddsaRevokeRequest +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_REQ_REVOKE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * The public key to revoke. + */ + struct TALER_ExchangePublicKeyP exchange_pub; + +}; + + +/** + * Message sent if a signature was successfully computed. + */ +struct TALER_CRYPTO_EddsaSignResponse +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_RES_SIGNATURE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * The public key used for the signature. + */ + struct TALER_ExchangePublicKeyP exchange_pub; + + /** + * The public key to use for the signature. + */ + struct TALER_ExchangeSignatureP exchange_sig; + +}; + + +/** + * Message sent if signing failed. + */ +struct TALER_CRYPTO_EddsaSignFailure +{ + /** + * Type is #TALER_HELPER_EDDSA_MT_RES_SIGN_FAILURE. + */ + struct GNUNET_MessageHeader header; + + /** + * If available, Taler error code. In NBO. + */ + uint32_t ec; + +}; + + +GNUNET_NETWORK_STRUCT_END + + +#endif diff --git a/src/util/secmod_rsa.c b/src/util/secmod_rsa.c index 4217cbb33..db8ae9512 100644 --- a/src/util/secmod_rsa.c +++ b/src/util/secmod_rsa.c @@ -33,7 +33,7 @@ */ #include "platform.h" #include "taler_util.h" -#include "taler-exchange-secmod-rsa.h" +#include "secmod_rsa.h" #include #include #include "taler_error_codes.h" diff --git a/src/util/secmod_rsa.h b/src/util/secmod_rsa.h new file mode 100644 index 000000000..ffbceb48e --- /dev/null +++ b/src/util/secmod_rsa.h @@ -0,0 +1,223 @@ +/* + This file is part of TALER + Copyright (C) 2020-2022 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, see +*/ +/** + * @file util/taler-exchange-secmod-rsa.h + * @brief IPC messages for the RSA crypto helper. + * @author Christian Grothoff + */ +#ifndef TALER_EXCHANGE_SECMOD_RSA_H +#define TALER_EXCHANGE_SECMOD_RSA_H + +#define TALER_HELPER_RSA_MT_PURGE 1 +#define TALER_HELPER_RSA_MT_AVAIL 2 + +#define TALER_HELPER_RSA_MT_REQ_BATCH_SIGN 3 +#define TALER_HELPER_RSA_MT_REQ_INIT 4 +#define TALER_HELPER_RSA_MT_REQ_SIGN 5 +#define TALER_HELPER_RSA_MT_REQ_REVOKE 6 + +#define TALER_HELPER_RSA_MT_RES_SIGNATURE 7 +#define TALER_HELPER_RSA_MT_RES_SIGN_FAILURE 8 +#define TALER_HELPER_RSA_MT_RES_BATCH_FAILURE 9 + +#define TALER_HELPER_RSA_SYNCED 10 + + +GNUNET_NETWORK_STRUCT_BEGIN + + +/** + * Message sent if a key is available. + */ +struct TALER_CRYPTO_RsaKeyAvailableNotification +{ + /** + * Type is #TALER_HELPER_RSA_MT_AVAIL + */ + struct GNUNET_MessageHeader header; + + /** + * Number of bytes of the public key. + */ + uint16_t pub_size; + + /** + * Number of bytes of the section name. + */ + uint16_t section_name_len; + + /** + * When does the key become available? + */ + struct GNUNET_TIME_TimestampNBO anchor_time; + + /** + * How long is the key available after @e anchor_time? + */ + struct GNUNET_TIME_RelativeNBO duration_withdraw; + + /** + * Public key used to generate the @e sicm_sig. + */ + struct TALER_SecurityModulePublicKeyP secm_pub; + + /** + * Signature affirming the announcement, of + * purpose #TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY. + */ + struct TALER_SecurityModuleSignatureP secm_sig; + + /* followed by @e pub_size bytes of the RSA public key */ + + /* followed by @e section_name bytes of the configuration section name + of the denomination of this key */ + +}; + + +/** + * Message sent if a key was purged. + */ +struct TALER_CRYPTO_RsaKeyPurgeNotification +{ + /** + * Type is #TALER_HELPER_RSA_MT_PURGE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the purged RSA key. + */ + struct TALER_RsaPubHashP h_rsa; + +}; + + +/** + * Message sent if a signature is requested. + */ +struct TALER_CRYPTO_SignRequest +{ + /** + * Type is #TALER_HELPER_RSA_MT_REQ_SIGN. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the RSA key to use for the signature. + */ + struct TALER_RsaPubHashP h_rsa; + + /* followed by message to sign */ +}; + + +/** + * Message sent if a batch of signatures is requested. + */ +struct TALER_CRYPTO_BatchSignRequest +{ + /** + * Type is #TALER_HELPER_RSA_MT_REQ_BATCH_SIGN. + */ + struct GNUNET_MessageHeader header; + + /** + * Number of signatures to create, in NBO. + */ + uint32_t batch_size; + + /* + * Followed by @e batch_size sign requests. + */ + +}; + + +/** + * Message sent if a key was revoked. + */ +struct TALER_CRYPTO_RevokeRequest +{ + /** + * Type is #TALER_HELPER_RSA_MT_REQ_REVOKE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the revoked RSA key. + */ + struct TALER_RsaPubHashP h_rsa; + +}; + + +/** + * Message sent if a signature was successfully computed. + */ +struct TALER_CRYPTO_SignResponse +{ + /** + * Type is #TALER_HELPER_RSA_MT_RES_SIGNATURE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /* followed by RSA signature */ +}; + + +/** + * Message sent if signing failed. + */ +struct TALER_CRYPTO_SignFailure +{ + /** + * Type is #TALER_HELPER_RSA_MT_RES_SIGN_FAILURE. + */ + struct GNUNET_MessageHeader header; + + /** + * If available, Taler error code. In NBO. + */ + uint32_t ec; + +}; + + +GNUNET_NETWORK_STRUCT_END + + +#endif diff --git a/src/util/taler-exchange-secmod-cs.h b/src/util/taler-exchange-secmod-cs.h deleted file mode 100644 index 0321335da..000000000 --- a/src/util/taler-exchange-secmod-cs.h +++ /dev/null @@ -1,319 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2020-2022 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see -*/ -/** - * @file util/taler-exchange-secmod-cs.h - * @brief IPC messages for the CS crypto helper. - * @author Christian Grothoff - * @author Gian Demarmels - * @author Lucien Heuzeveldt - */ -#ifndef TALER_EXCHANGE_SECMOD_CS_H -#define TALER_EXCHANGE_SECMOD_CS_H - -#define TALER_HELPER_CS_MT_PURGE 1 -#define TALER_HELPER_CS_MT_AVAIL 2 - -#define TALER_HELPER_CS_MT_REQ_INIT 3 -#define TALER_HELPER_CS_MT_REQ_BATCH_SIGN 4 -#define TALER_HELPER_CS_MT_REQ_SIGN 5 -#define TALER_HELPER_CS_MT_REQ_REVOKE 6 -#define TALER_HELPER_CS_MT_REQ_BATCH_RDERIVE 7 -#define TALER_HELPER_CS_MT_REQ_RDERIVE 8 - -#define TALER_HELPER_CS_MT_RES_SIGNATURE 9 -#define TALER_HELPER_CS_MT_RES_SIGN_FAILURE 10 -#define TALER_HELPER_CS_MT_RES_BATCH_SIGN_FAILURE 11 -#define TALER_HELPER_CS_MT_RES_RDERIVE 12 -#define TALER_HELPER_CS_MT_RES_RDERIVE_FAILURE 13 -#define TALER_HELPER_CS_MT_RES_BATCH_RDERIVE_FAILURE 14 - -#define TALER_HELPER_CS_SYNCED 15 - -GNUNET_NETWORK_STRUCT_BEGIN - - -/** - * Message sent if a key is available. - */ -struct TALER_CRYPTO_CsKeyAvailableNotification -{ - /** - * Type is #TALER_HELPER_CS_MT_AVAIL - */ - struct GNUNET_MessageHeader header; - - /** - * Number of bytes of the section name. - */ - uint32_t section_name_len; - - /** - * When does the key become available? - */ - struct GNUNET_TIME_TimestampNBO anchor_time; - - /** - * How long is the key available after @e anchor_time? - */ - struct GNUNET_TIME_RelativeNBO duration_withdraw; - - /** - * Public key used to generate the @e sicm_sig. - */ - struct TALER_SecurityModulePublicKeyP secm_pub; - - /** - * Signature affirming the announcement, of - * purpose #TALER_SIGNATURE_SM_CS_DENOMINATION_KEY. - */ - struct TALER_SecurityModuleSignatureP secm_sig; - - /** - * Denomination Public key - */ - struct GNUNET_CRYPTO_CsPublicKey denom_pub; - - /* followed by @e section_name bytes of the configuration section name - of the denomination of this key */ - -}; - - -/** - * Message sent if a key was purged. - */ -struct TALER_CRYPTO_CsKeyPurgeNotification -{ - /** - * Type is #TALER_HELPER_CS_MT_PURGE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Hash of the public key of the purged CS key. - */ - struct TALER_CsPubHashP h_cs; - -}; - - -/** - * Message sent if a signature is requested. - */ -struct TALER_CRYPTO_CsSignRequestMessage -{ - /** - * Type is #TALER_HELPER_CS_MT_REQ_SIGN. - */ - struct GNUNET_MessageHeader header; - - /** - * 0 for withdraw, 1 for melt, in NBO. - */ - uint32_t for_melt; - - /** - * Hash of the public key of the CS key to use for the signature. - */ - struct TALER_CsPubHashP h_cs; - - /** - * Message to sign. - */ - struct GNUNET_CRYPTO_CsBlindedMessage message; - -}; - - -/** - * Message sent if a batch of signatures is requested. - */ -struct TALER_CRYPTO_BatchSignRequest -{ - /** - * Type is #TALER_HELPER_CS_MT_REQ_BATCH_SIGN. - */ - struct GNUNET_MessageHeader header; - - /** - * Number of signatures to create, in NBO. - */ - uint32_t batch_size; - - /* - * Followed by @e batch_size batch sign requests. - */ - -}; - - -/** - * Message sent if a signature is requested. - */ -struct TALER_CRYPTO_CsRDeriveRequest -{ - /** - * Type is #TALER_HELPER_CS_MT_REQ_RDERIVE. - */ - struct GNUNET_MessageHeader header; - - /** - * 0 for withdraw, 1 for melt, in NBO. - */ - uint32_t for_melt; - - /** - * Hash of the public key of the CS key to use for the derivation. - */ - struct TALER_CsPubHashP h_cs; - - /** - * Withdraw nonce to derive R from - */ - struct GNUNET_CRYPTO_CsSessionNonce nonce; -}; - - -/** - * Message sent if a batch of derivations is requested. - */ -struct TALER_CRYPTO_BatchDeriveRequest -{ - /** - * Type is #TALER_HELPER_CS_MT_REQ_BATCH_RDERIVE. - */ - struct GNUNET_MessageHeader header; - - /** - * Number of derivations to create, in NBO. - */ - uint32_t batch_size; - - /* - * Followed by @e batch_size derive requests. - */ - -}; - - -/** - * Message sent if a key was revoked. - */ -struct TALER_CRYPTO_CsRevokeRequest -{ - /** - * Type is #TALER_HELPER_CS_MT_REQ_REVOKE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Hash of the public key of the revoked CS key. - */ - struct TALER_CsPubHashP h_cs; - -}; - - -/** - * Message sent if a signature was successfully computed. - */ -struct TALER_CRYPTO_SignResponse -{ - /** - * Type is #TALER_HELPER_CS_MT_RES_SIGNATURE. - */ - struct GNUNET_MessageHeader header; - - /** - * The chosen 'b' (0 or 1). - */ - uint32_t b; - - /** - * Contains the blindided s. - */ - struct GNUNET_CRYPTO_CsBlindS cs_answer; -}; - -/** - * Message sent if a R is successfully derived - */ -struct TALER_CRYPTO_RDeriveResponse -{ - /** - * Type is #TALER_HELPER_CS_MT_RES_RDERIVE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Pair of derived R values - */ - struct GNUNET_CRYPTO_CSPublicRPairP r_pub; -}; - - -/** - * Message sent if signing failed. - */ -struct TALER_CRYPTO_SignFailure -{ - /** - * Type is #TALER_HELPER_CS_MT_RES_SIGN_FAILURE. - */ - struct GNUNET_MessageHeader header; - - /** - * If available, Taler error code. In NBO. - */ - uint32_t ec; - -}; - -/** - * Message sent if derivation failed. - */ -struct TALER_CRYPTO_RDeriveFailure -{ - /** - * Type is #TALER_HELPER_CS_MT_RES_RDERIVE_FAILURE. - */ - struct GNUNET_MessageHeader header; - - /** - * If available, Taler error code. In NBO. - */ - uint32_t ec; - -}; -GNUNET_NETWORK_STRUCT_END - - -#endif diff --git a/src/util/taler-exchange-secmod-eddsa.h b/src/util/taler-exchange-secmod-eddsa.h deleted file mode 100644 index c05d90a6c..000000000 --- a/src/util/taler-exchange-secmod-eddsa.h +++ /dev/null @@ -1,202 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see -*/ -/** - * @file util/taler-exchange-secmod-eddsa.h - * @brief IPC messages for the EDDSA crypto helper. - * @author Christian Grothoff - */ -#ifndef TALER_EXCHANGE_SECMOD_EDDSA_H -#define TALER_EXCHANGE_SECMOD_EDDSA_H - -#define TALER_HELPER_EDDSA_MT_PURGE 11 -#define TALER_HELPER_EDDSA_MT_AVAIL 12 - -#define TALER_HELPER_EDDSA_MT_REQ_INIT 14 -#define TALER_HELPER_EDDSA_MT_REQ_SIGN 15 -#define TALER_HELPER_EDDSA_MT_REQ_REVOKE 16 - -#define TALER_HELPER_EDDSA_MT_RES_SIGNATURE 17 -#define TALER_HELPER_EDDSA_MT_RES_SIGN_FAILURE 18 - -#define TALER_HELPER_EDDSA_SYNCED 19 - - -GNUNET_NETWORK_STRUCT_BEGIN - -/** - * Message sent if a key is available. - */ -struct TALER_CRYPTO_EddsaKeyAvailableNotification -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_AVAIL - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * When does the key become available? - */ - struct GNUNET_TIME_TimestampNBO anchor_time; - - /** - * How long is the key available after @e anchor_time? - */ - struct GNUNET_TIME_RelativeNBO duration; - - /** - * Public key used to generate the @e sicm_sig. - */ - struct TALER_SecurityModulePublicKeyP secm_pub; - - /** - * Signature affirming the announcement, of - * purpose #TALER_SIGNATURE_SM_SIGNING_KEY. - */ - struct TALER_SecurityModuleSignatureP secm_sig; - - /** - * The public key. - */ - struct TALER_ExchangePublicKeyP exchange_pub; - -}; - - -/** - * Message sent if a key was purged. - */ -struct TALER_CRYPTO_EddsaKeyPurgeNotification -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_PURGE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * The public key. - */ - struct TALER_ExchangePublicKeyP exchange_pub; - -}; - - -/** - * Message sent if a signature is requested. - */ -struct TALER_CRYPTO_EddsaSignRequest -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_REQ_SIGN. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * What should be signed over. - */ - struct GNUNET_CRYPTO_EccSignaturePurpose purpose; - - /* followed by rest of data to sign */ -}; - - -/** - * Message sent if a key was revoked. - */ -struct TALER_CRYPTO_EddsaRevokeRequest -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_REQ_REVOKE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * The public key to revoke. - */ - struct TALER_ExchangePublicKeyP exchange_pub; - -}; - - -/** - * Message sent if a signature was successfully computed. - */ -struct TALER_CRYPTO_EddsaSignResponse -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_RES_SIGNATURE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * The public key used for the signature. - */ - struct TALER_ExchangePublicKeyP exchange_pub; - - /** - * The public key to use for the signature. - */ - struct TALER_ExchangeSignatureP exchange_sig; - -}; - - -/** - * Message sent if signing failed. - */ -struct TALER_CRYPTO_EddsaSignFailure -{ - /** - * Type is #TALER_HELPER_EDDSA_MT_RES_SIGN_FAILURE. - */ - struct GNUNET_MessageHeader header; - - /** - * If available, Taler error code. In NBO. - */ - uint32_t ec; - -}; - - -GNUNET_NETWORK_STRUCT_END - - -#endif diff --git a/src/util/taler-exchange-secmod-rsa.h b/src/util/taler-exchange-secmod-rsa.h deleted file mode 100644 index ffbceb48e..000000000 --- a/src/util/taler-exchange-secmod-rsa.h +++ /dev/null @@ -1,223 +0,0 @@ -/* - This file is part of TALER - Copyright (C) 2020-2022 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see -*/ -/** - * @file util/taler-exchange-secmod-rsa.h - * @brief IPC messages for the RSA crypto helper. - * @author Christian Grothoff - */ -#ifndef TALER_EXCHANGE_SECMOD_RSA_H -#define TALER_EXCHANGE_SECMOD_RSA_H - -#define TALER_HELPER_RSA_MT_PURGE 1 -#define TALER_HELPER_RSA_MT_AVAIL 2 - -#define TALER_HELPER_RSA_MT_REQ_BATCH_SIGN 3 -#define TALER_HELPER_RSA_MT_REQ_INIT 4 -#define TALER_HELPER_RSA_MT_REQ_SIGN 5 -#define TALER_HELPER_RSA_MT_REQ_REVOKE 6 - -#define TALER_HELPER_RSA_MT_RES_SIGNATURE 7 -#define TALER_HELPER_RSA_MT_RES_SIGN_FAILURE 8 -#define TALER_HELPER_RSA_MT_RES_BATCH_FAILURE 9 - -#define TALER_HELPER_RSA_SYNCED 10 - - -GNUNET_NETWORK_STRUCT_BEGIN - - -/** - * Message sent if a key is available. - */ -struct TALER_CRYPTO_RsaKeyAvailableNotification -{ - /** - * Type is #TALER_HELPER_RSA_MT_AVAIL - */ - struct GNUNET_MessageHeader header; - - /** - * Number of bytes of the public key. - */ - uint16_t pub_size; - - /** - * Number of bytes of the section name. - */ - uint16_t section_name_len; - - /** - * When does the key become available? - */ - struct GNUNET_TIME_TimestampNBO anchor_time; - - /** - * How long is the key available after @e anchor_time? - */ - struct GNUNET_TIME_RelativeNBO duration_withdraw; - - /** - * Public key used to generate the @e sicm_sig. - */ - struct TALER_SecurityModulePublicKeyP secm_pub; - - /** - * Signature affirming the announcement, of - * purpose #TALER_SIGNATURE_SM_RSA_DENOMINATION_KEY. - */ - struct TALER_SecurityModuleSignatureP secm_sig; - - /* followed by @e pub_size bytes of the RSA public key */ - - /* followed by @e section_name bytes of the configuration section name - of the denomination of this key */ - -}; - - -/** - * Message sent if a key was purged. - */ -struct TALER_CRYPTO_RsaKeyPurgeNotification -{ - /** - * Type is #TALER_HELPER_RSA_MT_PURGE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Hash of the public key of the purged RSA key. - */ - struct TALER_RsaPubHashP h_rsa; - -}; - - -/** - * Message sent if a signature is requested. - */ -struct TALER_CRYPTO_SignRequest -{ - /** - * Type is #TALER_HELPER_RSA_MT_REQ_SIGN. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Hash of the public key of the RSA key to use for the signature. - */ - struct TALER_RsaPubHashP h_rsa; - - /* followed by message to sign */ -}; - - -/** - * Message sent if a batch of signatures is requested. - */ -struct TALER_CRYPTO_BatchSignRequest -{ - /** - * Type is #TALER_HELPER_RSA_MT_REQ_BATCH_SIGN. - */ - struct GNUNET_MessageHeader header; - - /** - * Number of signatures to create, in NBO. - */ - uint32_t batch_size; - - /* - * Followed by @e batch_size sign requests. - */ - -}; - - -/** - * Message sent if a key was revoked. - */ -struct TALER_CRYPTO_RevokeRequest -{ - /** - * Type is #TALER_HELPER_RSA_MT_REQ_REVOKE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /** - * Hash of the public key of the revoked RSA key. - */ - struct TALER_RsaPubHashP h_rsa; - -}; - - -/** - * Message sent if a signature was successfully computed. - */ -struct TALER_CRYPTO_SignResponse -{ - /** - * Type is #TALER_HELPER_RSA_MT_RES_SIGNATURE. - */ - struct GNUNET_MessageHeader header; - - /** - * For now, always zero. - */ - uint32_t reserved; - - /* followed by RSA signature */ -}; - - -/** - * Message sent if signing failed. - */ -struct TALER_CRYPTO_SignFailure -{ - /** - * Type is #TALER_HELPER_RSA_MT_RES_SIGN_FAILURE. - */ - struct GNUNET_MessageHeader header; - - /** - * If available, Taler error code. In NBO. - */ - uint32_t ec; - -}; - - -GNUNET_NETWORK_STRUCT_END - - -#endif -- cgit v1.2.3