FreeRTOS-Plus/ThirdParty/WolfSSL-FIPS-Ready/wolfcrypt/src/asn.c
/* encode Alternative Names, return total bytes written */
encode Alternative Names, return total bytes written
encode Alternative Names return total bytes written
static int SetAltNames(byte *output, word32 outSz,
        const byte *input, word32 length)
{
    byte san_len[1 + MAX_LENGTH_SZ];
    int idx = 0, san_lenSz;
    const byte san_oid[] = { 0x06, 0x03, 0x55, 0x1d, 0x11 };
    if (output == NULL || input == NULL)
        return BAD_FUNC_ARG;
    if (outSz < length)
        return BUFFER_E;
    san_lenSz = SetOctetString(length, san_len);
    if (outSz < MAX_SEQ_SZ)
        return BUFFER_E;
    idx = SetSequence(length + sizeof(san_oid) + san_lenSz, output);
    if ((length + sizeof(san_oid) + san_lenSz) > outSz)
        return BUFFER_E;
    XMEMCPY(output+idx, san_oid, sizeof(san_oid));
    idx += sizeof(san_oid);
    XMEMCPY(output+idx, san_len, san_lenSz);
    idx += san_lenSz;
    XMEMCPY(output+idx, input, length);
    idx += length;
    return idx;
}
static int SetAltNames ( byte * output , word32 outSz , const byte * input , word32 length ) { byte san_len [ 1 + MAX_LENGTH_SZ ] ; int idx = 0 , san_lenSz ; const byte san_oid [ ] = { 0x06 , 0x03 , 0x55 , 0x1d , 0x11 } ; if ( output == NULL || input == NULL ) return BAD_FUNC_ARG ; if ( outSz < length ) return BUFFER_E ; san_lenSz = SetOctetString ( length , san_len ) ; if ( outSz < MAX_SEQ_SZ ) return BUFFER_E ; idx = SetSequence ( length + sizeof ( san_oid ) + san_lenSz , output ) ; if ( ( length + sizeof ( san_oid ) + san_lenSz ) > outSz ) return BUFFER_E ; XMEMCPY ( output + idx , san_oid , sizeof ( san_oid ) ) ; idx += sizeof ( san_oid ) ; XMEMCPY ( output + idx , san_len , san_lenSz ) ; idx += san_lenSz ; XMEMCPY ( output + idx , input , length ) ; idx += length ; return idx ; }
encode Alternative Names, return total bytes written
encode Alternative Names return total bytes written
/* Octet String header */ /* put oid */ /* put octet header */ /* put value */