doc_mainpage.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. l/**
  2. * @file
  3. * Main page documentation file.
  4. */
  5. /**
  6. * @mainpage PolarSSL v1.0.0 source code documentation
  7. *
  8. * This documentation describes the internal structure of PolarSSL. It was
  9. * automatically generated from specially formatted comment blocks in
  10. * PolarSSL's source code using Doxygen. (See
  11. * http://www.stack.nl/~dimitri/doxygen/ for more information on Doxygen)
  12. *
  13. * PolarSSL has a simple setup: it provides the ingredients for an SSL/TLS
  14. * implementation. These ingredients are listed as modules in the
  15. * \ref mainpage_modules "Modules section". This "Modules section" introduces
  16. * the high-level module concepts used throughout this documentation.\n
  17. * Some examples of PolarSSL usage can be found in the \ref mainpage_examples
  18. * "Examples section".
  19. *
  20. *
  21. * @section mainpage_modules Modules
  22. *
  23. * PolarSSL supports SSLv3 up to TLSv1.1 communication by providing the
  24. * following:
  25. * - TCP/IP communication functions: listen, connect, accept, read/write.
  26. * - SSL/TLS communication functions: init, handshake, read/write.
  27. * - X.509 functions: CRT, CRL and key handling
  28. * - Random number generation
  29. * - Hashing
  30. * - Encryption/decryption
  31. *
  32. * Above functions are split up neatly into logical interfaces. These can be
  33. * used separately to provide any of the above functions or to mix-and-match
  34. * into an SSL server/client solution that utilises a X.509 PKI. Examples of
  35. * such implementations are amply provided with the source code. Note that
  36. * there is also an OpenSSL wrapper provided.\n
  37. * Note that PolarSSL does not provide a control channel or (multiple) session
  38. * handling.
  39. *
  40. * @section mainpage_examples Examples
  41. *
  42. * Example server setup:
  43. *
  44. * \b Prerequisites:
  45. * - X.509 certificate and private key
  46. * - session handling functions
  47. *
  48. * \b Setup:
  49. * - Load your certificate and your private RSA key (X.509 interface)
  50. * - Setup the listening TCP socket (TCP/IP interface)
  51. * - Accept incoming client connection (TCP/IP interface)
  52. * - Initialise as an SSL-server (SSL/TLS interface)
  53. * - Set parameters, e.g. authentication, ciphers, CA-chain, key exchange
  54. * - Set callback functions RNG, IO, session handling
  55. * - Perform an SSL-handshake (SSL/TLS interface)
  56. * - Read/write data (SSL/TLS interface)
  57. * - Close and cleanup (all interfaces)
  58. *
  59. *
  60. * Example client setup:
  61. *
  62. * \b Prerequisites:
  63. * - X.509 certificate and private key
  64. * - X.509 trusted CA certificates
  65. *
  66. * \b Setup:
  67. * - Load the trusted CA certificates (X.509 interface)
  68. * - Load your certificate and your private RSA key (X.509 interface)
  69. * - Setup a TCP/IP connection (TCP/IP interface)
  70. * - Initialise as an SSL-client (SSL/TLS interface)
  71. * - Set parameters, e.g. authentication mode, ciphers, CA-chain, session
  72. * - Set callback functions RNG, IO
  73. * - Perform an SSL-handshake (SSL/TLS interface)
  74. * - Verify the server certificate (SSL/TLS interface)
  75. * - Write/read data (SSL/TLS interface)
  76. * - Close and cleanup (all interfaces)
  77. *
  78. *
  79. */