Lines Matching refs:tbs
74 * @param tbs returned to-be-signed certicate object, free with
83 hx509_ca_tbs_init(hx509_context context, hx509_ca_tbs *tbs)
85 *tbs = calloc(1, sizeof(**tbs));
86 if (*tbs == NULL)
95 * @param tbs object to free.
101 hx509_ca_tbs_free(hx509_ca_tbs *tbs)
103 if (tbs == NULL || *tbs == NULL)
106 free_SubjectPublicKeyInfo(&(*tbs)->spki);
107 free_GeneralNames(&(*tbs)->san);
108 free_ExtKeyUsage(&(*tbs)->eku);
109 der_free_heim_integer(&(*tbs)->serial);
110 free_CRLDistributionPoints(&(*tbs)->crldp);
111 der_free_bit_string(&(*tbs)->subjectUniqueID);
112 der_free_bit_string(&(*tbs)->issuerUniqueID);
113 hx509_name_free(&(*tbs)->subject);
114 if ((*tbs)->sigalg) {
115 free_AlgorithmIdentifier((*tbs)->sigalg);
116 free((*tbs)->sigalg);
119 memset(*tbs, 0, sizeof(**tbs));
120 free(*tbs);
121 *tbs = NULL;
129 * @param tbs object to be signed.
139 hx509_ca_tbs tbs,
142 tbs->notBefore = t;
150 * @param tbs object to be signed.
160 hx509_ca_tbs tbs,
163 tbs->notAfter = t;
171 * @param tbs object to be signed.
181 hx509_ca_tbs tbs,
184 return hx509_ca_tbs_set_notAfter(context, tbs, time(NULL) + delta);
217 * @param tbs object to be signed.
229 hx509_ca_tbs tbs,
236 if (tbs->subject)
237 hx509_name_free(&tbs->subject);
238 ret = hx509_cert_get_subject(cert, &tbs->subject);
246 der_free_heim_integer(&tbs->serial);
247 ret = hx509_cert_get_serialnumber(cert, &tbs->serial);
248 tbs->flags.serial = !ret;
256 tbs->notBefore = hx509_cert_get_notBefore(cert);
258 tbs->notAfter = hx509_cert_get_notAfter(cert);
260 free_SubjectPublicKeyInfo(&tbs->spki);
261 ret = hx509_cert_get_SPKI(context, cert, &tbs->spki);
262 tbs->flags.key = !ret;
271 tbs->key_usage = KeyUsage2int(ku);
280 ret = hx509_ca_tbs_add_eku(context, tbs, &eku.val[i]);
296 * @param tbs object to be signed.
307 hx509_ca_tbs tbs,
310 tbs->flags.ca = 1;
311 tbs->pathLenConstraint = pathLenConstraint;
320 * @param tbs object to be signed.
331 hx509_ca_tbs tbs,
334 tbs->flags.proxy = 1;
335 tbs->pathLenConstraint = pathLenConstraint;
344 * @param tbs object to be signed.
353 hx509_ca_tbs tbs)
355 tbs->flags.domaincontroller = 1;
365 * @param tbs object to be signed.
375 hx509_ca_tbs tbs,
379 free_SubjectPublicKeyInfo(&tbs->spki);
380 ret = copy_SubjectPublicKeyInfo(spki, &tbs->spki);
381 tbs->flags.key = !ret;
389 * @param tbs object to be signed.
400 hx509_ca_tbs tbs,
404 der_free_heim_integer(&tbs->serial);
405 ret = der_copy_heim_integer(serialNumber, &tbs->serial);
406 tbs->flags.serial = !ret;
415 * @param tbs object to be signed.
425 hx509_ca_tbs tbs,
433 for (i = 0; i < tbs->eku.len; i++) {
434 if (der_heim_oid_cmp(oid, &tbs->eku.val[i]) == 0)
438 ptr = realloc(tbs->eku.val, sizeof(tbs->eku.val[0]) * (tbs->eku.len + 1));
443 tbs->eku.val = ptr;
444 ret = der_copy_oid(oid, &tbs->eku.val[tbs->eku.len]);
449 tbs->eku.len += 1;
458 * @param tbs object to be signed.
469 hx509_ca_tbs tbs,
546 ret = add_CRLDistributionPoints(&tbs->crldp, &dp);
563 * @param tbs object to be signed.
574 hx509_ca_tbs tbs,
585 return add_GeneralNames(&tbs->san, &gn);
593 * @param tbs object to be signed.
603 hx509_ca_tbs tbs,
676 tbs,
694 hx509_ca_tbs tbs,
715 tbs,
728 * @param tbs object to be signed.
738 hx509_ca_tbs tbs,
741 return add_utf8_san(context, tbs, &asn1_oid_id_pkinit_ms_san, principal);
749 * @param tbs object to be signed.
759 hx509_ca_tbs tbs,
762 return add_utf8_san(context, tbs, &asn1_oid_id_pkix_on_xmppAddr, jid);
774 * @param tbs object to be signed.
784 hx509_ca_tbs tbs,
794 return add_GeneralNames(&tbs->san, &gn);
802 * @param tbs object to be signed.
812 hx509_ca_tbs tbs,
822 return add_GeneralNames(&tbs->san, &gn);
829 * @param tbs object to be signed.
839 hx509_ca_tbs tbs,
842 if (tbs->subject)
843 hx509_name_free(&tbs->subject);
844 return hx509_name_copy(context, subject, &tbs->subject);
856 * @param tbs object to be signed.
867 hx509_ca_tbs tbs,
873 der_free_bit_string(&tbs->subjectUniqueID);
874 der_free_bit_string(&tbs->issuerUniqueID);
877 ret = der_copy_bit_string(subjectUniqueID, &tbs->subjectUniqueID);
883 ret = der_copy_bit_string(issuerUniqueID, &tbs->issuerUniqueID);
896 * @param tbs object to be signed.
907 hx509_ca_tbs tbs,
910 return hx509_name_expand(context, tbs->subject, env);
917 * @param tbs object to be signed.
927 hx509_ca_tbs tbs,
932 tbs->sigalg = calloc(1, sizeof(*tbs->sigalg));
933 if (tbs->sigalg == NULL) {
937 ret = copy_AlgorithmIdentifier(sigalg, tbs->sigalg);
939 free(tbs->sigalg);
940 tbs->sigalg = NULL;
1023 hx509_ca_tbs tbs,
1040 sigalg = tbs->sigalg;
1051 notBefore = tbs->notBefore;
1054 notAfter = tbs->notAfter;
1058 key_usage = tbs->key_usage;
1067 if (tbs->flags.ca) {
1081 if (tbs->flags.key == 0) {
1090 if (!tbs->flags.proxy) {
1091 if (tbs->subject == NULL) {
1095 if (hx509_name_is_null_p(tbs->subject) && tbs->san.len == 0) {
1101 if (tbs->flags.ca && tbs->flags.proxy) {
1106 if (tbs->flags.proxy) {
1107 if (tbs->san.len > 0) {
1124 if (tbs->flags.serial) {
1125 ret = der_copy_heim_integer(&tbs->serial, &tbsc->serialNumber);
1158 ret = hx509_name_to_Name(tbs->subject, &tbsc->issuer);
1169 if (tbs->flags.proxy) {
1174 ret = hx509_name_to_Name(tbs->subject, &tbsc->subject);
1182 ret = copy_SubjectPublicKeyInfo(&tbs->spki, &tbsc->subjectPublicKeyInfo);
1188 if (tbs->issuerUniqueID.length) {
1195 ret = der_copy_bit_string(&tbs->issuerUniqueID, tbsc->issuerUniqueID);
1202 if (tbs->subjectUniqueID.length) {
1210 ret = der_copy_bit_string(&tbs->subjectUniqueID, tbsc->subjectUniqueID);
1226 if (tbs->flags.domaincontroller) {
1261 if (tbs->eku.len > 0) {
1263 &tbs->eku, &size, ret);
1278 if (tbs->san.len > 0) {
1280 &tbs->san, &size, ret);
1323 EVP_DigestUpdate(ctx, tbs->spki.subjectPublicKey.data,
1324 tbs->spki.subjectPublicKey.length / 8);
1356 if (tbs->flags.ca) {
1358 if (tbs->pathLenConstraint >= 0) {
1359 path = tbs->pathLenConstraint;
1373 ret = add_extension(context, tbsc, tbs->flags.ca,
1382 if (tbs->flags.proxy) {
1387 if (tbs->pathLenConstraint >= 0) {
1395 *info.pCPathLenConstraint = tbs->pathLenConstraint;
1423 if (tbs->crldp.len) {
1426 &tbs->crldp, &size, ret);
1579 * @param tbs object to be signed.
1590 hx509_ca_tbs tbs,
1607 tbs,
1623 * @param tbs object to be signed.
1634 hx509_ca_tbs tbs,
1639 tbs,