mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-18 20:49:28 +00:00
Harvest 176 isolated vuln-vs-fix functions (109 CVEs, 352 training rows) into benchmarks/pairs/vfc with provenance and a JSONL training manifest. Score the slice as an honesty dashboard (ousast pairs --slice vfc); keep the pair gate on the local fixtures only.
49 lines
1.6 KiB
C
49 lines
1.6 KiB
C
/* Provenance: openssl/openssl NETSCAPE_SPKI_print (fixed).
|
|
* repo: openssl/openssl
|
|
* commit: 7c038a6bcd98d4bbfd2c2892a87a1138d2f7c5f3
|
|
* parent: 98624776c4d501c8badd6f772ab7048ac9191cb9
|
|
* commit_url: https://github.com/openssl/openssl/commit/7c038a6bcd98d4bbfd2c2892a87a1138d2f7c5f3
|
|
* cve: CVE-2021-3712
|
|
* license: OpenSSL License
|
|
* function: NETSCAPE_SPKI_print
|
|
* relpath: crypto/asn1/t_spki.c
|
|
*/
|
|
|
|
int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
|
|
{
|
|
EVP_PKEY *pkey;
|
|
ASN1_IA5STRING *chal;
|
|
ASN1_OBJECT *spkioid;
|
|
int i, n;
|
|
char *s;
|
|
BIO_printf(out, "Netscape SPKI:\n");
|
|
X509_PUBKEY_get0_param(&spkioid, NULL, NULL, NULL, spki->spkac->pubkey);
|
|
i = OBJ_obj2nid(spkioid);
|
|
BIO_printf(out, " Public Key Algorithm: %s\n",
|
|
(i == NID_undef) ? "UNKNOWN" : OBJ_nid2ln(i));
|
|
pkey = X509_PUBKEY_get(spki->spkac->pubkey);
|
|
if (pkey == NULL)
|
|
BIO_printf(out, " Unable to load public key\n");
|
|
else {
|
|
EVP_PKEY_print_public(out, pkey, 4, NULL);
|
|
EVP_PKEY_free(pkey);
|
|
}
|
|
chal = spki->spkac->challenge;
|
|
if (chal->length)
|
|
BIO_printf(out, " Challenge String: %.*s\n", chal->length, chal->data);
|
|
i = OBJ_obj2nid(spki->sig_algor.algorithm);
|
|
BIO_printf(out, " Signature Algorithm: %s",
|
|
(i == NID_undef) ? "UNKNOWN" : OBJ_nid2ln(i));
|
|
|
|
n = spki->signature->length;
|
|
s = (char *)spki->signature->data;
|
|
for (i = 0; i < n; i++) {
|
|
if ((i % 18) == 0)
|
|
BIO_write(out, "\n ", 7);
|
|
BIO_printf(out, "%02x%s", (unsigned char)s[i],
|
|
((i + 1) == n) ? "" : ":");
|
|
}
|
|
BIO_write(out, "\n", 1);
|
|
return 1;
|
|
}
|