static SECStatus smime_add_profile (CERTCertificate *cert, SEC_PKCS7ContentInfo *cinfo) { PRBool isFortezza = PR_FALSE; PORT_Assert (smime_prefs_complete); if (! smime_prefs_complete) return SECFailure; /* See if the sender's cert specifies Fortezza key exchange. */ if (cert != NULL) isFortezza = PK11_FortezzaHasKEA(cert); /* For that matter, if capabilities haven't been initialized yet, do so now. */ if (isFortezza != lastUsedFortezza || smime_encoded_caps == NULL || smime_prefs_changed) { SECStatus rv; rv = smime_init_caps(isFortezza); if (rv != SECSuccess) return rv; PORT_Assert (smime_encoded_caps != NULL); } return SEC_PKCS7AddSignedAttribute (cinfo, SEC_OID_PKCS9_SMIME_CAPABILITIES, smime_encoded_caps); }
static SECStatus smime_add_profile(CERTCertificate *cert, SEC_PKCS7ContentInfo *cinfo) { PORT_Assert(smime_prefs_complete); if (!smime_prefs_complete) return SECFailure; /* For that matter, if capabilities haven't been initialized yet, do so now. */ if (smime_encoded_caps == NULL || smime_prefs_changed) { SECStatus rv; rv = smime_init_caps(); if (rv != SECSuccess) return rv; PORT_Assert(smime_encoded_caps != NULL); } return SEC_PKCS7AddSignedAttribute(cinfo, SEC_OID_PKCS9_SMIME_CAPABILITIES, smime_encoded_caps); }