GNUnet  0.10.x
credential.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet
3  Copyright (C) 2012-2013 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
25 #ifndef CREDENTIAL_H
26 #define CREDENTIAL_H
27 
29 
31 
36 {
41 
46 
51 
56 
60  uint32_t id GNUNET_PACKED;
61 
62  /* Followed by the zero-terminated attribute */
63 
64 };
65 
66 
71 {
76 
81 
86 
90  uint32_t c_count;
91 
96 
100  uint32_t id GNUNET_PACKED;
101 
102  /* Followed by the zero-terminated attribute and credentials to look up */
103 
104 };
105 
106 
111 {
116 
120  uint32_t id GNUNET_PACKED;
121 
125  uint32_t cred_found GNUNET_PACKED;
126 
130  uint32_t d_count GNUNET_PACKED;
131 
135  uint32_t c_count GNUNET_PACKED;
136 
137  /* followed by ad_count GNUNET_CREDENTIAL_RecordData structs*/
138 
139 };
140 
142 {
147 
151  uint32_t subject_attribute_len GNUNET_PACKED;
152 };
153 
154 
156 {
161 
166 
171 
175  uint32_t subject_attribute_len GNUNET_PACKED;
176 };
177 
178 
180 {
181 
186 
191 
196 
201 
206 
211 
215 };
216 
217 
219 
220 #endif
221 
Message from client to Credential service to verify attributes.
Definition: credential.h:70
uint32_t issuer_attribute_len
Issuer attribute length.
Definition: credential.h:210
static char * expiration
Credential TTL.
uint32_t purpose
What does this signature vouch for? This must contain a GNUNET_SIGNATURE_PURPOSE_XXX constant (from g...
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: credential.h:95
Message from CREDENTIAL service to client: new results.
Definition: credential.h:110
struct GNUNET_CRYPTO_EcdsaPublicKey issuer_key
Trust anchor.
Definition: credential.h:50
Message from client to Credential service to collect credentials.
Definition: credential.h:35
Private ECC key encoded for transmission.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32.
header of what an ECC signature signs this must be followed by "size - 8" bytes of the actual signed ...
an ECC signature using ECDSA
struct GNUNET_MessageHeader header
Header of type GNUNET_MESSAGE_TYPE_CREDENTIAL_VERIFY.
Definition: credential.h:40
struct GNUNET_CRYPTO_EcdsaPrivateKey subject_key
Subject public key.
Definition: credential.h:45
uint32_t c_count
Number of credentials.
Definition: credential.h:90
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won&#39;t work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
Public ECC key (always for Curve25519) encoded in a format suitable for network transmission and ECDS...
uint16_t issuer_attribute_len
Length of the issuer attribute.
Definition: credential.h:55
Header for all communications.