richter     2004/03/11 13:39:08

  Modified:    crypto   epcrypto.c
  Log:
  some checks for epcrypto.c
  
  Revision  Changes    Path
  1.7       +40 -3     embperl/crypto/epcrypto.c
  
  Index: epcrypto.c
  ===================================================================
  RCS file: /home/cvs/embperl/crypto/epcrypto.c,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- epcrypto.c        7 Mar 2004 18:09:55 -0000       1.6
  +++ epcrypto.c        11 Mar 2004 21:39:08 -0000      1.7
  @@ -27,17 +27,54 @@
       unsigned char * key = EPC_KEY ;
       unsigned char * iv  = "\0x01\0x02\0x03\0x04\0x05\0x06\0x07\0x08" ;
       EVP_CIPHER_CTX  ctx ;
  +    int klen ;
  +    int ivlen ;
  +
       
       if (output && do_encrypt)
           return -3 ; /* not supported */
       
  -   
  +    /*
  +    printf("%d %d %d\n", EVP_MAX_IV_LENGTH, EVP_MAX_BLOCK_LENGTH, 
((char*)&ctx.key_len) - ((char *)&ctx)) ;
   
  +    for (blen = 0; blen < EPC_KEYLEN;blen++)
  +         printf("n=%d = %x\n", blen, key[blen]) ;
  +    */
  +    
  +    EVP_CIPHER_CTX_init(&ctx) ;
  +    
  +    /*
       EVP_CipherInit(&ctx, EPC_CHIPER, NULL, NULL, do_encrypt);
  +        
  +    for (blen = 0; blen < sizeof(ctx);blen++)
  +        printf("n=%d = %x\n", blen, ((unsigned char *)(&ctx))[blen])
  +;
  +
  +    klen = EVP_CIPHER_CTX_key_length(&ctx) ;
  +    ivlen = EVP_CIPHER_CTX_iv_length(&ctx) ;
  +        
  +    printf ("1 chiper=%s klen=%d ivlen=%d\n",
  +    EVP_CIPHER_CTX_cipher(&ctx), klen, ivlen) ;
       EVP_CIPHER_CTX_set_key_length(&ctx, EPC_KEYLEN);
  -    
  -    EVP_CipherInit(&ctx, NULL, key, iv, do_encrypt);
  +    klen = EVP_CIPHER_CTX_key_length(&ctx) ;
  +    ivlen = EVP_CIPHER_CTX_iv_length(&ctx) ;
  +            
   
  +    printf ("2 chiper=%s klen=%d ivlen=%d\n",
  +    EVP_CIPHER_CTX_cipher(&ctx), klen, ivlen) ;
  +    */
  +    
  +    
  +    EVP_CipherInit(&ctx, EPC_CHIPER, key, iv, do_encrypt);
  +    
  +    EVP_CIPHER_CTX_set_key_length(&ctx, EPC_KEYLEN);
  +        
  +    klen = EVP_CIPHER_CTX_key_length(&ctx) ;
  +    ivlen = EVP_CIPHER_CTX_iv_length(&ctx) ;
  +                
  +    if (klen > EPC_KEYLEN || ivlen > 8)
  +        return -6 ;
  +        
       if (header)
           {
           int hlen = strlen(header) ;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to