Lines Matching refs:tbs

72  * @param tbs returned to-be-signed certicate object, free with
81 hx509_ca_tbs_init(hx509_context context, hx509_ca_tbs *tbs)
83 *tbs = calloc(1, sizeof(**tbs));
84 if (*tbs == NULL)
93 * @param tbs object to free.
99 hx509_ca_tbs_free(hx509_ca_tbs *tbs)
101 if (tbs == NULL || *tbs == NULL)
104 free_SubjectPublicKeyInfo(&(*tbs)->spki);
105 free_GeneralNames(&(*tbs)->san);
106 free_ExtKeyUsage(&(*tbs)->eku);
107 der_free_heim_integer(&(*tbs)->serial);
108 free_CRLDistributionPoints(&(*tbs)->crldp);
109 der_free_bit_string(&(*tbs)->subjectUniqueID);
110 der_free_bit_string(&(*tbs)->issuerUniqueID);
111 hx509_name_free(&(*tbs)->subject);
113 memset(*tbs, 0, sizeof(**tbs));
114 free(*tbs);
115 *tbs = NULL;
123 * @param tbs object to be signed.
133 hx509_ca_tbs tbs,
136 tbs->notBefore = t;
144 * @param tbs object to be signed.
154 hx509_ca_tbs tbs,
157 tbs->notAfter = t;
165 * @param tbs object to be signed.
175 hx509_ca_tbs tbs,
178 return hx509_ca_tbs_set_notAfter(context, tbs, time(NULL) + delta);
211 * @param tbs object to be signed.
223 hx509_ca_tbs tbs,
230 if (tbs->subject)
231 hx509_name_free(&tbs->subject);
232 ret = hx509_cert_get_subject(cert, &tbs->subject);
240 der_free_heim_integer(&tbs->serial);
241 ret = hx509_cert_get_serialnumber(cert, &tbs->serial);
242 tbs->flags.serial = !ret;
250 tbs->notBefore = hx509_cert_get_notBefore(cert);
252 tbs->notAfter = hx509_cert_get_notAfter(cert);
254 free_SubjectPublicKeyInfo(&tbs->spki);
255 ret = hx509_cert_get_SPKI(context, cert, &tbs->spki);
256 tbs->flags.key = !ret;
265 tbs->key_usage = KeyUsage2int(ku);
274 ret = hx509_ca_tbs_add_eku(context, tbs, &eku.val[i]);
290 * @param tbs object to be signed.
301 hx509_ca_tbs tbs,
304 tbs->flags.ca = 1;
305 tbs->pathLenConstraint = pathLenConstraint;
314 * @param tbs object to be signed.
325 hx509_ca_tbs tbs,
328 tbs->flags.proxy = 1;
329 tbs->pathLenConstraint = pathLenConstraint;
338 * @param tbs object to be signed.
347 hx509_ca_tbs tbs)
349 tbs->flags.domaincontroller = 1;
359 * @param tbs object to be signed.
369 hx509_ca_tbs tbs,
373 free_SubjectPublicKeyInfo(&tbs->spki);
374 ret = copy_SubjectPublicKeyInfo(spki, &tbs->spki);
375 tbs->flags.key = !ret;
383 * @param tbs object to be signed.
394 hx509_ca_tbs tbs,
398 der_free_heim_integer(&tbs->serial);
399 ret = der_copy_heim_integer(serialNumber, &tbs->serial);
400 tbs->flags.serial = !ret;
409 * @param tbs object to be signed.
419 hx509_ca_tbs tbs,
427 for (i = 0; i < tbs->eku.len; i++) {
428 if (der_heim_oid_cmp(oid, &tbs->eku.val[i]) == 0)
432 ptr = realloc(tbs->eku.val, sizeof(tbs->eku.val[0]) * (tbs->eku.len + 1));
437 tbs->eku.val = ptr;
438 ret = der_copy_oid(oid, &tbs->eku.val[tbs->eku.len]);
443 tbs->eku.len += 1;
452 * @param tbs object to be signed.
463 hx509_ca_tbs tbs,
540 ret = add_CRLDistributionPoints(&tbs->crldp, &dp);
557 * @param tbs object to be signed.
568 hx509_ca_tbs tbs,
579 return add_GeneralNames(&tbs->san, &gn);
587 * @param tbs object to be signed.
597 hx509_ca_tbs tbs,
670 tbs,
688 hx509_ca_tbs tbs,
709 tbs,
722 * @param tbs object to be signed.
732 hx509_ca_tbs tbs,
735 return add_utf8_san(context, tbs, &asn1_oid_id_pkinit_ms_san, principal);
743 * @param tbs object to be signed.
753 hx509_ca_tbs tbs,
756 return add_utf8_san(context, tbs, &asn1_oid_id_pkix_on_xmppAddr, jid);
768 * @param tbs object to be signed.
778 hx509_ca_tbs tbs,
788 return add_GeneralNames(&tbs->san, &gn);
796 * @param tbs object to be signed.
806 hx509_ca_tbs tbs,
816 return add_GeneralNames(&tbs->san, &gn);
823 * @param tbs object to be signed.
833 hx509_ca_tbs tbs,
836 if (tbs->subject)
837 hx509_name_free(&tbs->subject);
838 return hx509_name_copy(context, subject, &tbs->subject);
850 * @param tbs object to be signed.
861 hx509_ca_tbs tbs,
867 der_free_bit_string(&tbs->subjectUniqueID);
868 der_free_bit_string(&tbs->issuerUniqueID);
871 ret = der_copy_bit_string(subjectUniqueID, &tbs->subjectUniqueID);
877 ret = der_copy_bit_string(issuerUniqueID, &tbs->issuerUniqueID);
890 * @param tbs object to be signed.
901 hx509_ca_tbs tbs,
904 return hx509_name_expand(context, tbs->subject, env);
984 hx509_ca_tbs tbs,
1009 notBefore = tbs->notBefore;
1012 notAfter = tbs->notAfter;
1016 key_usage = tbs->key_usage;
1025 if (tbs->flags.ca) {
1039 if (tbs->flags.key == 0) {
1048 if (!tbs->flags.proxy) {
1049 if (tbs->subject == NULL) {
1053 if (hx509_name_is_null_p(tbs->subject) && tbs->san.len == 0) {
1059 if (tbs->flags.ca && tbs->flags.proxy) {
1064 if (tbs->flags.proxy) {
1065 if (tbs->san.len > 0) {
1082 if (tbs->flags.serial) {
1083 ret = der_copy_heim_integer(&tbs->serial, &tbsc->serialNumber);
1110 ret = hx509_name_to_Name(tbs->subject, &tbsc->issuer);
1121 if (tbs->flags.proxy) {
1126 ret = hx509_name_to_Name(tbs->subject, &tbsc->subject);
1134 ret = copy_SubjectPublicKeyInfo(&tbs->spki, &tbsc->subjectPublicKeyInfo);
1140 if (tbs->issuerUniqueID.length) {
1147 ret = der_copy_bit_string(&tbs->issuerUniqueID, tbsc->issuerUniqueID);
1154 if (tbs->subjectUniqueID.length) {
1162 ret = der_copy_bit_string(&tbs->subjectUniqueID, tbsc->subjectUniqueID);
1178 if (tbs->flags.domaincontroller) {
1213 if (tbs->eku.len > 0) {
1215 &tbs->eku, &size, ret);
1230 if (tbs->san.len > 0) {
1232 &tbs->san, &size, ret);
1275 EVP_DigestUpdate(ctx, tbs->spki.subjectPublicKey.data,
1276 tbs->spki.subjectPublicKey.length / 8);
1308 if (tbs->flags.ca) {
1310 if (tbs->pathLenConstraint >= 0) {
1311 path = tbs->pathLenConstraint;
1325 ret = add_extension(context, tbsc, tbs->flags.ca,
1334 if (tbs->flags.proxy) {
1339 if (tbs->pathLenConstraint >= 0) {
1347 *info.pCPathLenConstraint = tbs->pathLenConstraint;
1375 if (tbs->crldp.len) {
1378 &tbs->crldp, &size, ret);
1528 * @param tbs object to be signed.
1539 hx509_ca_tbs tbs,
1556 tbs,
1572 * @param tbs object to be signed.
1583 hx509_ca_tbs tbs,
1588 tbs,