For CFB and OFB modes, always create the encryption key.
[oweals/openssl.git] / crypto / asn1 / a_bytes.c
index aa4b570d387db6f7ba48dafa61a5bc1b8aaec35a..bb88660f58cf16464e43f771109fc9c08438123e 100644 (file)
 #include "cryptlib.h"
 #include <openssl/asn1.h>
 
-static unsigned long tag2bit[32]={
-0,     0,      0,      B_ASN1_BIT_STRING,      /* tags  0 -  3 */
-B_ASN1_OCTET_STRING,   0,      0,              B_ASN1_UNKNOWN,/* tags  4- 7 */
-B_ASN1_UNKNOWN,        B_ASN1_UNKNOWN, B_ASN1_UNKNOWN, B_ASN1_UNKNOWN,/* tags  8-11 */
-B_ASN1_UTF8STRING,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,B_ASN1_UNKNOWN,/* tags 12-15 */
-0,     0,      B_ASN1_NUMERICSTRING,B_ASN1_PRINTABLESTRING,   /* tags 16-19 */
-B_ASN1_T61STRING,B_ASN1_VIDEOTEXSTRING,B_ASN1_IA5STRING,       /* tags 20-22 */
-B_ASN1_UTCTIME, B_ASN1_GENERALIZEDTIME,                               /* tags 23-24 */ 
-B_ASN1_GRAPHICSTRING,B_ASN1_ISO64STRING,B_ASN1_GENERALSTRING,  /* tags 25-27 */
-B_ASN1_UNIVERSALSTRING,B_ASN1_UNKNOWN,B_ASN1_BMPSTRING,B_ASN1_UNKNOWN, /* tags 28-31 */
-       };
-
-unsigned long ASN1_tag2bit(int tag)
-{
-       if((tag < 0) || (tag > 30)) return 0;
-       return tag2bit[tag];
-}
-
 static int asn1_collate_primitive(ASN1_STRING *a, ASN1_CTX *c);
 /* type is a 'bitmap' of acceptable string types.
  */
@@ -99,7 +81,7 @@ ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a, unsigned char **pp,
                i=ASN1_R_TAG_VALUE_TOO_HIGH;;
                goto err;
                }
-       if (!(tag2bit[tag] & type))
+       if (!(ASN1_tag2bit(tag) & type))
                {
                i=ASN1_R_WRONG_TYPE;
                goto err;