diff options
Diffstat (limited to 'src/util/taler-helper-crypto-rsa.h')
-rw-r--r-- | src/util/taler-helper-crypto-rsa.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/util/taler-helper-crypto-rsa.h b/src/util/taler-helper-crypto-rsa.h new file mode 100644 index 000000000..0f03d12f2 --- /dev/null +++ b/src/util/taler-helper-crypto-rsa.h @@ -0,0 +1,90 @@ +/* + 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 <http://www.gnu.org/licenses/> +*/ +/** + * @file util/taler-helper-crypto-rsa.h + * @brief IPC messages for the RSA crypto helper. + * @author Christian Grothoff + */ +#ifndef TALER_HELPER_CRYPTO_RSA_H +#define TALER_HELPER_CRYPTO_RSA_H + +GNUNET_NETWORK_STRUCT_BEGIN + +/** + * Message sent if a key is available. + */ +struct TALER_CRYPTO_RsaKeyAvailableNotification +{ + /** + * Type is PURGE. + */ + 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; + + /** + * When does the key become available? + */ + struct GNUNET_TIME_AbsoluteNBO anchor_time; + + /** + * How long is the key available after @e anchor_time? + */ + struct GNUNET_TIME_RelativeNBO duration_withdraw; + + /* followed by @e pub_size bytes of the 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 PURGE. + */ + struct GNUNET_MessageHeader header; + + /** + * For now, always zero. + */ + uint32_t reserved; + + /** + * Hash of the public key of the purged RSA key. + */ + struct GNUNET_HashCode h_denom_pub; + +}; + + +GNUNET_NETWORK_STRUCT_END + + +#endif |