OLD | NEW |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 | 4 |
5 /* | 5 /* |
6 * cert.h - public data structures and prototypes for the certificate library | 6 * cert.h - public data structures and prototypes for the certificate library |
7 */ | 7 */ |
8 | 8 |
9 #ifndef _CERT_H_ | 9 #ifndef _CERT_H_ |
10 #define _CERT_H_ | 10 #define _CERT_H_ |
(...skipping 1200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1211 | 1211 |
1212 CERTCertList * | 1212 CERTCertList * |
1213 CERT_MatchUserCert(CERTCertDBHandle *handle, | 1213 CERT_MatchUserCert(CERTCertDBHandle *handle, |
1214 SECCertUsage usage, | 1214 SECCertUsage usage, |
1215 int nCANames, char **caNames, | 1215 int nCANames, char **caNames, |
1216 void *proto_win); | 1216 void *proto_win); |
1217 | 1217 |
1218 CERTCertList * | 1218 CERTCertList * |
1219 CERT_NewCertList(void); | 1219 CERT_NewCertList(void); |
1220 | 1220 |
| 1221 /* free the cert list and all the certs in the list */ |
1221 void | 1222 void |
1222 CERT_DestroyCertList(CERTCertList *certs); | 1223 CERT_DestroyCertList(CERTCertList *certs); |
1223 | 1224 |
1224 /* remove the node and free the cert */ | 1225 /* remove the node and free the cert */ |
1225 void | 1226 void |
1226 CERT_RemoveCertListNode(CERTCertListNode *node); | 1227 CERT_RemoveCertListNode(CERTCertListNode *node); |
1227 | 1228 |
| 1229 /* equivalent to CERT_AddCertToListTailWithData(certs, cert, NULL) */ |
1228 SECStatus | 1230 SECStatus |
1229 CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert); | 1231 CERT_AddCertToListTail(CERTCertList *certs, CERTCertificate *cert); |
1230 | 1232 |
| 1233 /* equivalent to CERT_AddCertToListHeadWithData(certs, cert, NULL) */ |
1231 SECStatus | 1234 SECStatus |
1232 CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert); | 1235 CERT_AddCertToListHead(CERTCertList *certs, CERTCertificate *cert); |
1233 | 1236 |
| 1237 /* |
| 1238 * The new cert list node takes ownership of "cert". "cert" is freed |
| 1239 * when the list node is removed. |
| 1240 */ |
1234 SECStatus | 1241 SECStatus |
1235 CERT_AddCertToListTailWithData(CERTCertList *certs, CERTCertificate *cert, | 1242 CERT_AddCertToListTailWithData(CERTCertList *certs, CERTCertificate *cert, |
1236 void *appData); | 1243 void *appData); |
1237 | 1244 |
| 1245 /* |
| 1246 * The new cert list node takes ownership of "cert". "cert" is freed |
| 1247 * when the list node is removed. |
| 1248 */ |
1238 SECStatus | 1249 SECStatus |
1239 CERT_AddCertToListHeadWithData(CERTCertList *certs, CERTCertificate *cert, | 1250 CERT_AddCertToListHeadWithData(CERTCertList *certs, CERTCertificate *cert, |
1240 void *appData); | 1251 void *appData); |
1241 | 1252 |
1242 typedef PRBool (* CERTSortCallback)(CERTCertificate *certa, | 1253 typedef PRBool (* CERTSortCallback)(CERTCertificate *certa, |
1243 CERTCertificate *certb, | 1254 CERTCertificate *certb, |
1244 void *arg); | 1255 void *arg); |
1245 SECStatus | 1256 SECStatus |
1246 CERT_AddCertToListSorted(CERTCertList *certs, CERTCertificate *cert, | 1257 CERT_AddCertToListSorted(CERTCertList *certs, CERTCertificate *cert, |
1247 CERTSortCallback f, void *arg); | 1258 CERTSortCallback f, void *arg); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1486 CERT_LockCertTrust(const CERTCertificate *cert); | 1497 CERT_LockCertTrust(const CERTCertificate *cert); |
1487 | 1498 |
1488 /* | 1499 /* |
1489 * Free the cert trust lock | 1500 * Free the cert trust lock |
1490 */ | 1501 */ |
1491 void | 1502 void |
1492 CERT_UnlockCertTrust(const CERTCertificate *cert); | 1503 CERT_UnlockCertTrust(const CERTCertificate *cert); |
1493 | 1504 |
1494 /* | 1505 /* |
1495 * Digest the cert's subject public key using the specified algorithm. | 1506 * Digest the cert's subject public key using the specified algorithm. |
| 1507 * NOTE: this digests the value of the BIT STRING subjectPublicKey (excluding |
| 1508 * the tag, length, and number of unused bits) rather than the whole |
| 1509 * subjectPublicKeyInfo field. |
| 1510 * |
1496 * The necessary storage for the digest data is allocated. If "fill" is | 1511 * The necessary storage for the digest data is allocated. If "fill" is |
1497 * non-null, the data is put there, otherwise a SECItem is allocated. | 1512 * non-null, the data is put there, otherwise a SECItem is allocated. |
1498 * Allocation from "arena" if it is non-null, heap otherwise. Any problem | 1513 * Allocation from "arena" if it is non-null, heap otherwise. Any problem |
1499 * results in a NULL being returned (and an appropriate error set). | 1514 * results in a NULL being returned (and an appropriate error set). |
1500 */ | 1515 */ |
1501 extern SECItem * | 1516 extern SECItem * |
1502 CERT_GetSPKIDigest(PLArenaPool *arena, const CERTCertificate *cert, | 1517 CERT_GetSubjectPublicKeyDigest(PLArenaPool *arena, const CERTCertificate *cert, |
1503 SECOidTag digestAlg, SECItem *fill); | 1518 SECOidTag digestAlg, SECItem *fill); |
1504 | 1519 |
| 1520 /* |
| 1521 * Digest the cert's subject name using the specified algorithm. |
| 1522 */ |
| 1523 extern SECItem * |
| 1524 CERT_GetSubjectNameDigest(PLArenaPool *arena, const CERTCertificate *cert, |
| 1525 SECOidTag digestAlg, SECItem *fill); |
1505 | 1526 |
1506 SECStatus CERT_CheckCRL(CERTCertificate* cert, CERTCertificate* issuer, | 1527 SECStatus CERT_CheckCRL(CERTCertificate* cert, CERTCertificate* issuer, |
1507 const SECItem* dp, PRTime t, void* wincx); | 1528 const SECItem* dp, PRTime t, void* wincx); |
1508 | 1529 |
1509 | 1530 |
1510 /* | 1531 /* |
1511 * Add a CERTNameConstraint to the CERTNameConstraint list | 1532 * Add a CERTNameConstraint to the CERTNameConstraint list |
1512 */ | 1533 */ |
1513 extern CERTNameConstraint * | 1534 extern CERTNameConstraint * |
1514 CERT_AddNameConstraint(CERTNameConstraint *list, | 1535 CERT_AddNameConstraint(CERTNameConstraint *list, |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1646 /* | 1667 /* |
1647 * Destroy the arrays inside flags, | 1668 * Destroy the arrays inside flags, |
1648 * and destroy the object pointed to by flags, too. | 1669 * and destroy the object pointed to by flags, too. |
1649 */ | 1670 */ |
1650 extern void | 1671 extern void |
1651 CERT_DestroyCERTRevocationFlags(CERTRevocationFlags *flags); | 1672 CERT_DestroyCERTRevocationFlags(CERTRevocationFlags *flags); |
1652 | 1673 |
1653 SEC_END_PROTOS | 1674 SEC_END_PROTOS |
1654 | 1675 |
1655 #endif /* _CERT_H_ */ | 1676 #endif /* _CERT_H_ */ |
OLD | NEW |