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 * This file defines several platform independent functions to | 5 * This file defines several platform independent functions to |
6 * manipulate certificates and CRLs in a portable manner. | 6 * manipulate certificates and CRLs in a portable manner. |
7 * | 7 * |
8 */ | 8 */ |
9 | 9 |
10 #ifndef _PKIX_PL_PKI_H | 10 #ifndef _PKIX_PL_PKI_H |
(...skipping 1251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1262 * to by "nameConstraints". If the CertNameConstraints are not satisfied, a | 1262 * to by "nameConstraints". If the CertNameConstraints are not satisfied, a |
1263 * PKIX_Error pointer is returned. If "nameConstraints" is NULL, the function | 1263 * PKIX_Error pointer is returned. If "nameConstraints" is NULL, the function |
1264 * does nothing. | 1264 * does nothing. |
1265 * | 1265 * |
1266 * PARAMETERS: | 1266 * PARAMETERS: |
1267 * "cert" | 1267 * "cert" |
1268 * Address of Cert whose subject names are to be checked. | 1268 * Address of Cert whose subject names are to be checked. |
1269 * Must be non-NULL. | 1269 * Must be non-NULL. |
1270 * "nameConstraints" | 1270 * "nameConstraints" |
1271 * Address of CertNameConstraints that need to be satisfied. | 1271 * Address of CertNameConstraints that need to be satisfied. |
| 1272 * "treatCommonNameAsDNSName" |
| 1273 * PKIX_TRUE if the subject common name should be considered a dNSName |
| 1274 * when evaluating name constraints. |
1272 * "plContext" | 1275 * "plContext" |
1273 * Platform-specific context pointer. | 1276 * Platform-specific context pointer. |
1274 * THREAD SAFETY: | 1277 * THREAD SAFETY: |
1275 * Thread Safe (see Thread Safety Definitions in Programmer's Guide) | 1278 * Thread Safe (see Thread Safety Definitions in Programmer's Guide) |
1276 * RETURNS: | 1279 * RETURNS: |
1277 * Returns NULL if the function succeeds. | 1280 * Returns NULL if the function succeeds. |
1278 * Returns a Cert Error if the function fails in a non-fatal way. | 1281 * Returns a Cert Error if the function fails in a non-fatal way. |
1279 * Returns a Fatal Error if the function fails in an unrecoverable way. | 1282 * Returns a Fatal Error if the function fails in an unrecoverable way. |
1280 */ | 1283 */ |
1281 PKIX_Error * | 1284 PKIX_Error * |
1282 PKIX_PL_Cert_CheckNameConstraints( | 1285 PKIX_PL_Cert_CheckNameConstraints( |
1283 PKIX_PL_Cert *cert, | 1286 PKIX_PL_Cert *cert, |
1284 PKIX_PL_CertNameConstraints *nameConstraints, | 1287 PKIX_PL_CertNameConstraints *nameConstraints, |
| 1288 PKIX_Boolean treatCommonNameAsDNSName, |
1285 void *plContext); | 1289 void *plContext); |
1286 | 1290 |
1287 /* | 1291 /* |
1288 * FUNCTION: PKIX_PL_Cert_MergeNameConstraints | 1292 * FUNCTION: PKIX_PL_Cert_MergeNameConstraints |
1289 * DESCRIPTION: | 1293 * DESCRIPTION: |
1290 * | 1294 * |
1291 * Merges the CertNameConstraints pointed to by "firstNC" and the | 1295 * Merges the CertNameConstraints pointed to by "firstNC" and the |
1292 * CertNameConstraints pointed to by "secondNC" and stores the merged | 1296 * CertNameConstraints pointed to by "secondNC" and stores the merged |
1293 * CertNameConstraints at "pResultNC". If "secondNC" is NULL, the | 1297 * CertNameConstraints at "pResultNC". If "secondNC" is NULL, the |
1294 * CertNameConstraints pointed to by "firstNC" is stored at "pResultNC". | 1298 * CertNameConstraints pointed to by "firstNC" is stored at "pResultNC". |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1504 * MAY be ignored/rejected. | 1508 * MAY be ignored/rejected. |
1505 */ | 1509 */ |
1506 PKIX_PL_TrustAnchorMode_Additive, | 1510 PKIX_PL_TrustAnchorMode_Additive, |
1507 | 1511 |
1508 /* Indicates that ONLY trust anchors should be considered as | 1512 /* Indicates that ONLY trust anchors should be considered as |
1509 * trustworthy. | 1513 * trustworthy. |
1510 * Note: If the underlying platform supports marking a certificate as | 1514 * Note: If the underlying platform supports marking a certificate as |
1511 * explicitly untrustworthy, explicitly configured trust anchors | 1515 * explicitly untrustworthy, explicitly configured trust anchors |
1512 * MAY be ignored/rejected. | 1516 * MAY be ignored/rejected. |
1513 */ | 1517 */ |
1514 PKIX_PL_TrustAnchorMode_Exclusive, | 1518 PKIX_PL_TrustAnchorMode_Exclusive |
1515 } PKIX_PL_TrustAnchorMode; | 1519 } PKIX_PL_TrustAnchorMode; |
1516 | 1520 |
1517 /* | 1521 /* |
1518 * FUNCTION: PKIX_PL_Cert_IsCertTrusted | 1522 * FUNCTION: PKIX_PL_Cert_IsCertTrusted |
1519 * DESCRIPTION: | 1523 * DESCRIPTION: |
1520 * | 1524 * |
1521 * Checks the Cert specified by "cert" to determine, in a manner that depends | 1525 * Checks the Cert specified by "cert" to determine, in a manner that depends |
1522 * on the underlying platform, whether it is trusted, and stores the result in | 1526 * on the underlying platform, whether it is trusted, and stores the result in |
1523 * "pTrusted". If a certificate is trusted it means that a chain built to that | 1527 * "pTrusted". If a certificate is trusted it means that a chain built to that |
1524 * certificate, and satisfying all the usage, policy, validity, and other | 1528 * certificate, and satisfying all the usage, policy, validity, and other |
(...skipping 1197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2722 void **pState, | 2726 void **pState, |
2723 PKIX_BuildResult **pBuildResult, | 2727 PKIX_BuildResult **pBuildResult, |
2724 PKIX_VerifyNode **pVerifyTree, | 2728 PKIX_VerifyNode **pVerifyTree, |
2725 void *plContext); | 2729 void *plContext); |
2726 | 2730 |
2727 #ifdef __cplusplus | 2731 #ifdef __cplusplus |
2728 } | 2732 } |
2729 #endif | 2733 #endif |
2730 | 2734 |
2731 #endif /* _PKIX_PL_PKI_H */ | 2735 #endif /* _PKIX_PL_PKI_H */ |
OLD | NEW |