You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@santuario.apache.org by bl...@apache.org on 2003/05/19 14:29:38 UTC

cvs commit: xml-security/c/src/enc XSECCryptoProvider.hpp

blautenb    2003/05/19 05:29:38

  Modified:    c/src/enc XSECCryptoProvider.hpp
  Log:
  More background docs
  
  Revision  Changes    Path
  1.5       +30 -1     xml-security/c/src/enc/XSECCryptoProvider.hpp
  
  Index: XSECCryptoProvider.hpp
  ===================================================================
  RCS file: /home/cvs/xml-security/c/src/enc/XSECCryptoProvider.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XSECCryptoProvider.hpp	7 Apr 2003 12:27:13 -0000	1.4
  +++ XSECCryptoProvider.hpp	19 May 2003 12:29:38 -0000	1.5
  @@ -94,10 +94,39 @@
    * the virtual class XSECCryptoProvider, which returns pointers to 
    * particular virtual class objects.</p>
    *
  + * <p>The cryptographic interface has been kept as thin as possible.
  + * In particular, the classes are not meant to provide a complete
  + * wrapper for the cryptographic libraries involved.  The application
  + * program is expected to deal directly with the chosen library.  This
  + * ensures that the xml-security library can perform the functions it
  + * needs to, but does not constrain the application in what it can do.</p>
  + *
  + * <p>Thus three type of methods are available on any cryptographic
  + * object.</p>
  + *
  + * <ul>
  + * <li><em>Required</em> methods are those absolutely necessary for
  + * the library to operate.  For example, these include the methods 
  + * necessary for the library to decode a base64 encoded signature 
  + * and validate it against a defined key.</li>
  + * <li><em>Optional</em> methods are used by the ancillary classes
  + * in the library.  For example, the default KeyInfoResolver can
  + * use an optional method to extract a public key from a certificate.
  + * This is not strictly necessary, as the calling application could
  + * provide a resolver that does this work directly rather than using
  + * the XSECCryptoX509 class.</li>
  + * <li><em>Library Specific</em> methods are those methods that are
  + * unique to a particular library.  For example, the OpenSSLCryptoX509
  + * class has a Library Specific constructor that takes an OpenSSL
  + * X509 structure as its argument.
  + * </ul>
  + *
    * <p>The particular instantiation of XSECCryptoProvider that is to 
    * be used is set via the XSECPlatformUtils#Initialise() function 
    * call.  If no provider is passed in, the Initialise function 
  - * generates an OpenSSLCryptoProvider class for use.</p>
  + * generates an OpenSSLCryptoProvider class for use.  If OpenSSL
  + * is not available under windows, the library will use the Windows
  + * CAPI instead.</p>
    *
    * <p>The provider is kept in a global variable, and is used by 
    * all signature objects created by a particular application.  At