XRootD
XrdCryptoX509Req.cc
Go to the documentation of this file.
1 /******************************************************************************/
2 /* */
3 /* X r d C r y p t o X 5 0 9 R e q. c c */
4 /* */
5 /* (c) 2005 G. Ganis , CERN */
6 /* */
7 /* This file is part of the XRootD software suite. */
8 /* */
9 /* XRootD is free software: you can redistribute it and/or modify it under */
10 /* the terms of the GNU Lesser General Public License as published by the */
11 /* Free Software Foundation, either version 3 of the License, or (at your */
12 /* option) any later version. */
13 /* */
14 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */
15 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
16 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
17 /* License for more details. */
18 /* */
19 /* You should have received a copy of the GNU Lesser General Public License */
20 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
21 /* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
22 /* */
23 /* The copyright holder's institutional names and contributor's names may not */
24 /* be used to endorse or promote products derived from this software without */
25 /* specific prior written permission of the institution or contributor. */
26 /* */
27 /******************************************************************************/
28 
29 /* ************************************************************************** */
30 /* */
31 /* Abstract interface for X509 certificates requests. */
32 /* Allows to plug-in modules based on different crypto implementation */
33 /* (OpenSSL, Botan, ...) */
34 /* */
35 /* ************************************************************************** */
36 
39 
40 //_____________________________________________________________________________
42 {
43  // Dump content
44  EPNAME("X509Req::Dump");
45 
46  PRINT("+++++++++++++++ X509 request dump ++++++++++++++++");
47  PRINT("+");
48  PRINT("+ Subject: "<<Subject());
49  PRINT("+ Subject hash: "<<SubjectHash(0));
50  PRINT("+");
51  if (PKI()) {
52  PRINT("+ PKI: "<<PKI()->Status());
53  } else {
54  PRINT("+ PKI: missing");
55  }
56  PRINT("+");
57  PRINT("+++++++++++++++++++++++++++++++++++++++++++++++++");
58 }
59 
60 //_____________________________________________________________________________
62 {
63  // Check validity
64  ABSTRACTMETHOD("XrdCryptoX509Req::IsValid");
65  return 0;
66 }
67 
68 //_____________________________________________________________________________
70 {
71  // Return subject name
72  ABSTRACTMETHOD("XrdCryptoX509Req::Subject");
73  return (const char *)0;
74 }
75 
76 //_____________________________________________________________________________
78 {
79  // Return subject name
80  ABSTRACTMETHOD("XrdCryptoX509Req::SubjectHash");
81  return (const char *)0;
82 }
83 
84 //_____________________________________________________________________________
86 {
87  // Return underlying certificate in raw format
88  ABSTRACTMETHOD("XrdCryptoX509Req::Opaque");
89  return (XrdCryptoX509Reqdata)0;
90 }
91 
92 //_____________________________________________________________________________
94 {
95  // Return PKI key of the certificate
96  ABSTRACTMETHOD("XrdCryptoX509Req::PKI");
97  return (XrdCryptoRSA *)0;
98 }
99 
100 //_____________________________________________________________________________
102 {
103  // Return issuer name
104  ABSTRACTMETHOD("XrdCryptoX509Req::GetExtension");
105  return (XrdCryptoX509Reqdata)0;
106 }
107 
108 //_____________________________________________________________________________
110 {
111  // EXport in form of bucket
112  ABSTRACTMETHOD("XrdCryptoX509Req::Export");
113  return (XrdSutBucket *)0;
114 }
115 
116 //_____________________________________________________________________________
118 {
119  // Verify certificate signature with pub key of ref cert
120  ABSTRACTMETHOD("XrdCryptoX509Req::Verify");
121  return 0;
122 }
#define EPNAME(x)
Definition: XrdBwmTrace.hh:56
#define ABSTRACTMETHOD(x)
Definition: XrdCryptoAux.hh:41
void * XrdCryptoX509Reqdata
#define PRINT(y)
virtual void Dump()
virtual XrdSutBucket * Export()
const char * SubjectHash()
virtual bool Verify()
virtual XrdCryptoX509Reqdata Opaque()
virtual const char * Subject()
virtual XrdCryptoRSA * PKI()
virtual XrdCryptoX509Reqdata GetExtension(const char *oid)
virtual bool IsValid()