00001 // $Id: XrdCryptoX509Req.cc 30949 2009-11-02 16:37:58Z ganis $ 00002 00003 const char *XrdCryptoX509ReqCVSID = "$Id: XrdCryptoX509Req.cc 30949 2009-11-02 16:37:58Z ganis $"; 00004 /******************************************************************************/ 00005 /* */ 00006 /* X r d C r y p t o X 5 0 9 R e q. c c */ 00007 /* */ 00008 /* (c) 2005 G. Ganis , CERN */ 00009 /* */ 00010 /******************************************************************************/ 00011 00012 /* ************************************************************************** */ 00013 /* */ 00014 /* Abstract interface for X509 certificates requests. */ 00015 /* Allows to plug-in modules based on different crypto implementation */ 00016 /* (OpenSSL, Botan, ...) */ 00017 /* */ 00018 /* ************************************************************************** */ 00019 00020 #include <XrdCrypto/XrdCryptoX509Req.hh> 00021 #include <XrdCrypto/XrdCryptoTrace.hh> 00022 00023 //_____________________________________________________________________________ 00024 void XrdCryptoX509Req::Dump() 00025 { 00026 // Dump content 00027 EPNAME("X509Req::Dump"); 00028 00029 PRINT("+++++++++++++++ X509 request dump ++++++++++++++++"); 00030 PRINT("+"); 00031 PRINT("+ Subject: "<<Subject()); 00032 PRINT("+ Subject hash: "<<SubjectHash()); 00033 PRINT("+"); 00034 if (PKI()) { 00035 PRINT("+ PKI: "<<PKI()->Status()); 00036 } else { 00037 PRINT("+ PKI: missing"); 00038 } 00039 PRINT("+"); 00040 PRINT("+++++++++++++++++++++++++++++++++++++++++++++++++"); 00041 } 00042 00043 //_____________________________________________________________________________ 00044 bool XrdCryptoX509Req::IsValid() 00045 { 00046 // Check validity 00047 ABSTRACTMETHOD("XrdCryptoX509Req::IsValid"); 00048 return 0; 00049 } 00050 00051 //_____________________________________________________________________________ 00052 const char *XrdCryptoX509Req::Subject() 00053 { 00054 // Return subject name 00055 ABSTRACTMETHOD("XrdCryptoX509Req::Subject"); 00056 return (const char *)0; 00057 } 00058 00059 //_____________________________________________________________________________ 00060 const char *XrdCryptoX509Req::SubjectHash() 00061 { 00062 // Return subject name 00063 ABSTRACTMETHOD("XrdCryptoX509Req::SubjectHash"); 00064 return (const char *)0; 00065 } 00066 00067 //_____________________________________________________________________________ 00068 XrdCryptoX509Reqdata XrdCryptoX509Req::Opaque() 00069 { 00070 // Return underlying certificate in raw format 00071 ABSTRACTMETHOD("XrdCryptoX509Req::Opaque"); 00072 return (XrdCryptoX509Reqdata)0; 00073 } 00074 00075 //_____________________________________________________________________________ 00076 XrdCryptoRSA *XrdCryptoX509Req::PKI() 00077 { 00078 // Return PKI key of the certificate 00079 ABSTRACTMETHOD("XrdCryptoX509Req::PKI"); 00080 return (XrdCryptoRSA *)0; 00081 } 00082 00083 //_____________________________________________________________________________ 00084 XrdCryptoX509Reqdata XrdCryptoX509Req::GetExtension(const char *) 00085 { 00086 // Return issuer name 00087 ABSTRACTMETHOD("XrdCryptoX509Req::GetExtension"); 00088 return (XrdCryptoX509Reqdata)0; 00089 } 00090 00091 //_____________________________________________________________________________ 00092 XrdSutBucket *XrdCryptoX509Req::Export() 00093 { 00094 // EXport in form of bucket 00095 ABSTRACTMETHOD("XrdCryptoX509Req::Export"); 00096 return (XrdSutBucket *)0; 00097 } 00098 00099 //_____________________________________________________________________________ 00100 bool XrdCryptoX509Req::Verify() 00101 { 00102 // Verify certificate signature with pub key of ref cert 00103 ABSTRACTMETHOD("XrdCryptoX509Req::Verify"); 00104 return 0; 00105 }