Hello,

Maybe attached simple example will help.

Use:
 # gcc -o evp_enc evp_enc.c -lcrypto
 # cat /etc/group | ./evp_enc

Best regards,
--
Marek Marcola <marek.marc...@malkom.pl>


owner-openssl-us...@openssl.org wrote on 03/28/2012 09:02:59 AM:

> Prashanth kumar N <prashanth.kuma...@gmail.com> 
> Sent by: owner-openssl-us...@openssl.org
> 
> 03/28/2012 09:06 AM
> 
> Please respond to
> openssl-users@openssl.org
> 
> To
> 
> openssl-users@openssl.org
> 
> cc
> 
> Subject
> 
> Re: How to do encryption using AES in Openssl
> 
> I tried to use EVP but let if of go due to bad documentation... 

> On Wed, Mar 28, 2012 at 2:49 AM, Jakob Bohm <jb-open...@wisemo.com> 
wrote:
> On 3/27/2012 10:42 PM, Jeffrey Walton wrote:
> On Tue, Mar 27, 2012 at 4:26 PM, Ken Goldman<kgold...@us.ibm.com> 
 wrote:
> On 3/27/2012 3:51 PM, Jakob Bohm wrote:
> On 3/27/2012 9:37 PM, Dr. Stephen Henson wrote:
> You should really be using EVP instead of the low level routines.
> They are well documented with examples.
> Where, precisely?
> 
> I didn't find it either when I was looking a few years ago, so I
> settled on the obvious low level APIs too.
> In fact, neither the low level or the EVP APIs are documented.  I don't 
see
> any AES documentation at all.
> Digest (search for "openssl evp digest example"):
>   http://www.openssl.org/docs/crypto/EVP_DigestInit.html
> At least this one is outdated, it recommends SHA1, does not
> mention any of the larger algorithms and still shows the
> old SSL MD5+SHA1 288 bit length as the maximum MD size.
> 
> openssl/evp.h has later definitions but no documentation in it.
> 
> This document also gives two good reason not to use this
> interface when retrofitting existing code:
> 
> 1. The state structure (EVP_MD_CTX) requires an extra call to
> free internal memory, which may not fit into existing code
> that doesn't have such a requirement of its own.
> 
> 2. The EVP_DigestInit_ex() function is documented as loading
> a specific implementation if NULL is passed, thus almost certainly
> ensuring that said specific implementation will be linked into
> programs that don't use it at all.  It is also unclear how
> referencing a specific engine avoids loading the entire feature
> set of that engine when only a subset is needed.  Such granularity
> issues basic questions one should always consider in any library
> design.
> 

> Encrypt (search for "openssl evp encrypt example"):
>   http://www.openssl.org/docs/crypto/EVP_EncryptInit.html
> 
> Sign  (search for "openssl evp sign example"):
>   http://www.openssl.org/docs/crypto/EVP_SignInit.html
> 
> Verify  (search for "openssl evp verify example"):
>   http://www.openssl.org/docs/crypto/EVP_VerifyInit.html
> (I have not checked out those yet).
> 
> Explicitly adding the "word" EVP to those searches was
> non-obvious because as a programmer I tend not to consider
> parts of identifiers as separate search words (except when
> doing a raw grep).  And besides, how should a newcomer to
> OpenSSL guess that something called "EVP" is of any
> significance?
> 
> 
> -- 
> Jakob Bohm, CIO, partner, WiseMo A/S. http://www.wisemo.com
> Transformervej 29, 2730 Herlev, Denmark. direct: +45 31 13 16 10 
<call:+4531131610>
> This message is only for its intended recipient, delete if misaddressed.
> WiseMo - Remote Service Management for PCs, Phones and Embedded
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org

Attachment: evp_enc.c
Description: Binary data

Reply via email to