PageRenderTime 25ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/gecko_api/include/pkcs12.h

http://firefox-mac-pdf.googlecode.com/
C Header | 74 lines | 13 code | 9 blank | 52 comment | 0 complexity | 64ca2a0733ddd6ffe2ec30c53cda8437 MD5 | raw file
  1. /* ***** BEGIN LICENSE BLOCK *****
  2. * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3. *
  4. * The contents of this file are subject to the Mozilla Public License Version
  5. * 1.1 (the "License"); you may not use this file except in compliance with
  6. * the License. You may obtain a copy of the License at
  7. * http://www.mozilla.org/MPL/
  8. *
  9. * Software distributed under the License is distributed on an "AS IS" basis,
  10. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11. * for the specific language governing rights and limitations under the
  12. * License.
  13. *
  14. * The Original Code is the Netscape security libraries.
  15. *
  16. * The Initial Developer of the Original Code is
  17. * Netscape Communications Corporation.
  18. * Portions created by the Initial Developer are Copyright (C) 1994-2000
  19. * the Initial Developer. All Rights Reserved.
  20. *
  21. * Contributor(s):
  22. *
  23. * Alternatively, the contents of this file may be used under the terms of
  24. * either the GNU General Public License Version 2 or later (the "GPL"), or
  25. * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26. * in which case the provisions of the GPL or the LGPL are applicable instead
  27. * of those above. If you wish to allow use of your version of this file only
  28. * under the terms of either the GPL or the LGPL, and not to allow others to
  29. * use your version of this file under the terms of the MPL, indicate your
  30. * decision by deleting the provisions above and replace them with the notice
  31. * and other provisions required by the GPL or the LGPL. If you do not delete
  32. * the provisions above, a recipient may use your version of this file under
  33. * the terms of any one of the MPL, the GPL or the LGPL.
  34. *
  35. * ***** END LICENSE BLOCK ***** */
  36. #ifndef _PKCS12_H_
  37. #define _PKCS12_H_
  38. #include "pkcs12t.h"
  39. #include "p12.h"
  40. SEC_BEGIN_PROTOS
  41. typedef SECItem * (* SEC_PKCS12GetPassword)(void *arg);
  42. /* Decode functions */
  43. /* Import a PFX item.
  44. * der_pfx is the der-encoded pfx item to import.
  45. * pbef, and pbefarg are used to retrieve passwords for the HMAC,
  46. * and any passwords needed for passing to PKCS5 encryption
  47. * routines.
  48. * algorithm is the algorithm by which private keys are stored in
  49. * the key database. this could be a specific algorithm or could
  50. * be based on a global setting.
  51. * slot is the slot to where the certificates will be placed. if NULL,
  52. * the internal key slot is used.
  53. * If the process is successful, a SECSuccess is returned, otherwise
  54. * a failure occurred.
  55. */
  56. SECStatus
  57. SEC_PKCS12PutPFX(SECItem *der_pfx, SECItem *pwitem,
  58. SEC_PKCS12NicknameCollisionCallback ncCall,
  59. PK11SlotInfo *slot, void *wincx);
  60. /* check the first two bytes of a file to make sure that it matches
  61. * the desired header for a PKCS 12 file
  62. */
  63. PRBool SEC_PKCS12ValidData(char *buf, int bufLen, long int totalLength);
  64. SEC_END_PROTOS
  65. #endif