OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmsign
include
dcmtk
dcmsign
dcsignat.h
1
/*
2
*
3
* Copyright (C) 1998-2010, OFFIS e.V.
4
* All rights reserved. See COPYRIGHT file for details.
5
*
6
* This software and supporting documentation were developed by
7
*
8
* OFFIS e.V.
9
* R&D Division Health
10
* Escherweg 2
11
* D-26121 Oldenburg, Germany
12
*
13
*
14
* Module: dcmsign
15
*
16
* Author: Marco Eichelberg
17
*
18
* Purpose:
19
* classes: DcmSignature
20
*
21
* Last Update: $Author: joergr $
22
* Update Date: $Date: 2010-10-14 13:17:24 $
23
* CVS/RCS Revision: $Revision: 1.4 $
24
* Status: $State: Exp $
25
*
26
* CVS/RCS Log at end of file
27
*
28
*/
29
30
#ifndef DCMSIGN_H
31
#define DCMSIGN_H
32
33
#include "dcmtk/config/osconfig.h"
34
#include "dcmtk/dcmsign/sitypes.h"
35
36
#ifdef WITH_OPENSSL
37
38
#include "dcmtk/dcmdata/dcxfer.h"
/* for E_TransferSyntax */
39
40
#define INCLUDE_CSTDIO
41
#include "dcmtk/ofstd/ofstdinc.h"
42
43
class
DcmItem
;
44
class
DcmStack
;
45
class
DcmSequenceOfItems
;
46
class
DcmAttributeTag
;
47
class
SiPrivateKey
;
48
class
SiCertificate
;
49
class
SiSecurityProfile
;
50
class
SiMAC
;
51
class
SiTimeStamp
;
52
60
class
DcmSignature
61
{
62
public
:
67
static
void
initializeLibrary
();
68
70
DcmSignature
();
71
73
virtual
~DcmSignature
();
74
81
void
attach
(
DcmItem
*dataset);
82
85
void
detach
();
86
104
OFCondition
createSignature
(
105
SiPrivateKey
& key,
106
SiCertificate
& cert,
107
SiMAC
& mac,
108
SiSecurityProfile
& profile,
109
E_TransferSyntax xfer=EXS_LittleEndianExplicit,
110
const
DcmAttributeTag
*tagList=NULL,
111
SiTimeStamp
*timeStamp=NULL);
112
116
unsigned
long
numberOfSignatures
();
117
122
OFCondition
removeSignature
(
unsigned
long
i);
123
128
OFCondition
selectSignature
(
unsigned
long
i);
129
135
OFCondition
verifyCurrent
();
136
142
OFCondition
getCurrentMacID
(Uint16& macID);
143
151
OFCondition
getCurrentMacXferSyntaxName
(
OFString
& str);
152
158
OFCondition
getCurrentMacName
(
OFString
& str);
159
165
OFCondition
getCurrentSignatureUID
(
OFString
& str);
166
172
OFCondition
getCurrentSignatureDateTime
(
OFString
& str);
173
182
OFCondition
getCurrentDataElementsSigned
(
DcmAttributeTag
& desig);
183
189
SiCertificate
*
getCurrentCertificate
();
190
195
void
setDumpFile
(FILE *f);
196
204
static
DcmItem
*
findFirstSignatureItem
(
DcmItem
& item,
DcmStack
& stack);
205
213
static
DcmItem
*
findNextSignatureItem
(
DcmItem
& item,
DcmStack
& stack);
214
215
private
:
216
218
DcmSignature
(
DcmSignature
& arg);
219
221
DcmSignature
&
operator=
(
DcmSignature
& arg);
222
224
void
deselect
();
225
232
OFCondition
allocateMACID
(Uint16& newID);
233
239
static
Uint16
getMACIDnumber
(
DcmItem
&item);
240
244
static
void
currentDateTime
(
OFString
&str);
245
247
DcmItem
*
currentItem
;
248
250
DcmSequenceOfItems
*
macParametersSq
;
251
253
DcmSequenceOfItems
*
signatureSq
;
254
256
FILE *
dumpFile
;
257
259
DcmItem
*
selectedSignatureItem
;
260
262
DcmItem
*
selectedMacParametersItem
;
263
265
SiCertificate
*
selectedCertificate
;
266
267
};
268
269
#endif
270
#endif
271
272
/*
273
* $Log: dcsignat.h,v $
274
* Revision 1.4 2010-10-14 13:17:24 joergr
275
* Updated copyright header. Added reference to COPYRIGHT file.
276
*
277
* Revision 1.3 2005-12-08 16:04:29 meichel
278
* Changed include path schema for all DCMTK header files
279
*
280
* Revision 1.2 2003/06/04 14:21:03 meichel
281
* Simplified include structure to avoid preprocessor limitation
282
* (max 32 #if levels) on MSVC5 with STL.
283
*
284
* Revision 1.1 2002/12/20 14:53:08 wilkens
285
* Modified name clash resulting in a compiler error on Solaris 2.5.1 using
286
* compiler SC 2.0.1.
287
*
288
* Revision 1.5 2002/11/27 14:53:40 meichel
289
* Adapted module dcmsign to use of new header file ofstdinc.h
290
*
291
* Revision 1.4 2001/11/16 15:50:49 meichel
292
* Adapted digital signature code to final text of supplement 41.
293
*
294
* Revision 1.3 2001/09/26 14:30:18 meichel
295
* Adapted dcmsign to class OFCondition
296
*
297
* Revision 1.2 2001/06/01 15:50:46 meichel
298
* Updated copyright header
299
*
300
* Revision 1.1 2000/11/07 16:48:51 meichel
301
* Initial release of dcmsign module for DICOM Digital Signatures
302
*
303
*
304
*/
305
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2