static void convert_nss_gn_to_pluto_gn(CERTGeneralName *nss_gn, generalName_t *pluto_gn) { switch (nss_gn->type) { case certOtherName: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.OthName.name); pluto_gn->kind = GN_OTHER_NAME; break; case certRFC822Name: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_RFC822_NAME; break; case certDNSName: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_DNS_NAME; break; case certX400Address: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_X400_ADDRESS; break; case certEDIPartyName: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_EDI_PARTY_NAME; break; case certURI: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_URI; break; case certIPAddress: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_IP_ADDRESS; break; case certRegisterID: pluto_gn->name = same_secitem_as_chunk(nss_gn->name.other); pluto_gn->kind = GN_REGISTERED_ID; break; case certDirectoryName: pluto_gn->name = same_secitem_as_chunk(nss_gn->derDirectoryName); pluto_gn->kind = GN_DIRECTORY_NAME; break; default: bad_case(nss_gn->type); } }
chunk_t get_dercert_from_nss_cert(CERTCertificate *cert) { return same_secitem_as_chunk(cert->derCert); }
static int dntoasi(char *dst, size_t dstlen, SECItem si) { chunk_t ch = same_secitem_as_chunk(si); return dntoa(dst, dstlen, ch); }
static char *dntoasi(dntoasi_buf_t *dst, SECItem si) { dntoa(dst->buf, sizeof(dst->buf), same_secitem_as_chunk(si)); return dst->buf; }