示例#1
0
AsnLen BEncBMPStringContent(GenBuf *b, BMPString *octs)
{
	if ((octs->octetLen % 2) != 0)
	{
		BufSetWriteError (b, TRUE);
	}
	return BEncAsnOctsContent(b, octs);
} /* end of BEncBMPStringContent() */
示例#2
0
AsnLen BEncUniversalStringContent(GenBuf *b, UniversalString *octs)
{
	if ((octs->octetLen % 4) != 0)
	{	
		Asn1Error ("BEncUniversalStringContent: ERROR - Invalid UniversalString Format");
		GenBufSetWriteError (b, TRUE);

	}
	return BEncAsnOctsContent(b, octs);
} /* end of BEncUniversalStringContent() */
示例#3
0
AsnLen BEncNumericStringContent(GenBuf *b, NumericString *octs)
{
	if (chkNumericString (octs) < 0)
	{
        Asn1Error ("BEncNumericStringContent: ERROR - Format Error");
		GenBufSetWriteError (b, TRUE);
	}

	return (BEncAsnOctsContent (b, octs));
} /* end of BEncNumericStringContent() */
示例#4
0
#include "asn-bits.h" /* for TO_HEX macro */
#include "asn-octs.h"
#include <memory.h>


/*
 * encodes universal TAG LENGTH and Contents of and ASN.1 OCTET STRING
 */
AsnLen
BEncAsnOcts PARAMS ((b, data),
                    GenBuf *b _AND_
                    AsnOcts *data)
{
    AsnLen len;

    len =  BEncAsnOctsContent (b, data);
    len += BEncDefLen (b, len);
    len += BEncTag1 (b, UNIV, PRIM, OCTETSTRING_TAG_CODE);
    return len;
}  /* BEncAsnOcts */


/*
 * decodes universal TAG LENGTH and Contents of and ASN.1 OCTET STRING
 */
void
BDecAsnOcts PARAMS ((b, result, bytesDecoded, env),
                    GenBuf *b _AND_
                    AsnOcts    *result _AND_
                    AsnLen *bytesDecoded _AND_
                    jmp_buf env)