| /* This Source Code Form is subject to the terms of the Mozilla Public |
| * License, v. 2.0. If a copy of the MPL was not distributed with this |
| * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
| |
| #ifndef PKIT_H |
| #include "pkit.h" |
| #endif /* PKIT_H */ |
| |
| #ifndef PKIM_H |
| #include "pkim.h" |
| #endif /* PKIM_H */ |
| |
| /* This is defined in pki3hack.c */ |
| NSS_EXTERN nssDecodedCert * |
| nssDecodedPKIXCertificate_Create( |
| NSSArena *arenaOpt, |
| NSSDER *encoding); |
| |
| NSS_IMPLEMENT PRStatus |
| nssDecodedPKIXCertificate_Destroy( |
| nssDecodedCert *dc); |
| |
| NSS_IMPLEMENT nssDecodedCert * |
| nssDecodedCert_Create( |
| NSSArena *arenaOpt, |
| NSSDER *encoding, |
| NSSCertificateType type) |
| { |
| nssDecodedCert *rvDC = NULL; |
| switch (type) { |
| case NSSCertificateType_PKIX: |
| rvDC = nssDecodedPKIXCertificate_Create(arenaOpt, encoding); |
| break; |
| default: |
| #if 0 |
| nss_SetError(NSS_ERROR_INVALID_ARGUMENT); |
| #endif |
| return (nssDecodedCert *)NULL; |
| } |
| return rvDC; |
| } |
| |
| NSS_IMPLEMENT PRStatus |
| nssDecodedCert_Destroy( |
| nssDecodedCert *dc) |
| { |
| if (!dc) { |
| return PR_FAILURE; |
| } |
| switch (dc->type) { |
| case NSSCertificateType_PKIX: |
| return nssDecodedPKIXCertificate_Destroy(dc); |
| default: |
| #if 0 |
| nss_SetError(NSS_ERROR_INVALID_ARGUMENT); |
| #endif |
| break; |
| } |
| return PR_FAILURE; |
| } |