Dariusz Michaluk [Fri, 13 May 2016 10:54:13 +0000 (12:54 +0200)]
Rework AES GCM example.
Change-Id: I7c068de59f18496a34a7a7a31f5258e34445764d
Dariusz Michaluk [Mon, 16 May 2016 12:54:35 +0000 (14:54 +0200)]
Add support to AES GCM/CCM. Update documentation.
Change-Id: Ifecf73fe15061afe8ad28a9ad20abc79f518f387
Dariusz Michaluk [Fri, 27 May 2016 09:44:27 +0000 (11:44 +0200)]
Remove some TODO's.
Change-Id: Ic92d916f018078d1539132e0e44bd07de3e0d00c
Dariusz Michaluk [Wed, 25 May 2016 15:52:09 +0000 (17:52 +0200)]
Cleanup #include statements.
Change-Id: I45d1600e7606915ac1408abe956e6b85d26bd5c9
Krzysztof Jackiewicz [Mon, 23 May 2016 09:58:31 +0000 (11:58 +0200)]
Fix code formatting in sign.c
Change-Id: I767a1b32cf64ecae3f625c40c6ea83ec57368c37
Krzysztof Jackiewicz [Mon, 23 May 2016 08:47:53 +0000 (10:47 +0200)]
Simple signature API example
Change-Id: Iad04bc78c1d394bbf4c7f1e9215efb01ad365c65
Krzysztof Jackiewicz [Wed, 18 May 2016 13:35:39 +0000 (15:35 +0200)]
Simple API for signatures - implementation
Change-Id: I0beab0dd414d2c12e08a262b5c2750acbc711763
sangsu [Wed, 25 May 2016 02:36:27 +0000 (11:36 +0900)]
add @since_tizen 3.0 in yaca api header files
Change-Id: I77736606ae86c6180e4eb0221610e03cc9abb9e5
Signed-off-by: sangsu <sangsu.choi@samsung.com>
Dariusz Michaluk [Wed, 25 May 2016 13:48:23 +0000 (15:48 +0200)]
Cleanup boilerplate notices.
Change-Id: I162fe9cdfa095a4aefe0d14e83b55fd2a786c4d3
Krzysztof Jackiewicz [Wed, 18 May 2016 10:19:48 +0000 (12:19 +0200)]
Use new HMAC API in example
Change-Id: I4479c5ff16deda4741dd3164c49e3bd2a5ba5551
Krzysztof Jackiewicz [Mon, 23 May 2016 08:11:51 +0000 (10:11 +0200)]
Don't dump error in case of verification failure
Change-Id: I65ea82e48c2bc6ba3fcfc4d63125c50dfa4b63b6
Krzysztof Jackiewicz [Fri, 27 May 2016 06:55:01 +0000 (08:55 +0200)]
Update openssl error handling.
ERROR_DUMP always clears the error queue. ERROR_CLEAR clears the queue
silently. One of them has to be called after an openssl error. ERROR_DUMP
should be called for errors that we do not recognize. ERROR_CLEAR for other
errors.
Change-Id: I90844271378a87f4897f66c9664edf60bcb1e218
Krzysztof Jackiewicz [Mon, 23 May 2016 08:02:33 +0000 (10:02 +0200)]
Move HMAC to a separate function.
Change-Id: I3f3aaa475d6617d9d1356433e0b0b4adaeaef388
Krzysztof Jackiewicz [Mon, 23 May 2016 10:33:52 +0000 (12:33 +0200)]
Use "!= 0" instead of "< 0" when handling yaca errors
Change-Id: I8b298d9125d84b85c36cbde9ada9dc48af4e9402
Krzysztof Jackiewicz [Wed, 18 May 2016 09:33:33 +0000 (11:33 +0200)]
CMAC example
Change-Id: I2b17f9375e3cfd14048bb639b84f3627a13bb73f
Krzysztof Jackiewicz [Wed, 18 May 2016 07:33:14 +0000 (09:33 +0200)]
CMAC implementation
Change-Id: Ie6c0f5a83db902cddcb029d9140c12351b17d4e6
Krzysztof Jackiewicz [Mon, 23 May 2016 08:00:17 +0000 (10:00 +0200)]
Fix sign ctx cleanup
Change-Id: I791a1be4e2d5a32bcc2f11c24ebd19d5ba32fcc8
Dariusz Michaluk [Thu, 19 May 2016 13:42:26 +0000 (15:42 +0200)]
Remove unnecessary test example.
Change-Id: Iba5d726cda3dfb74e91463a565938b43b5a1d53b
Dariusz Michaluk [Thu, 19 May 2016 11:18:48 +0000 (13:18 +0200)]
Remove TODOs that no longer apply.
Change-Id: Ibb4990346808a1934a549703122c704d15935794
Dariusz Michaluk [Thu, 19 May 2016 11:03:35 +0000 (13:03 +0200)]
Join ECDSA and ECDH key to EC type.
Change-Id: I8817ce9a9e08283af3c25d5c3a133a4212b3dd60
Dariusz Michaluk [Thu, 19 May 2016 10:00:18 +0000 (12:00 +0200)]
Remove RC2 effective key bits param.
Only default 128b is supported at the moment.
Change-Id: I5908983614bfda58ed7466980734a110b504eb48
Krzysztof Jackiewicz [Tue, 17 May 2016 14:26:42 +0000 (16:26 +0200)]
Simple API for signatures, verification & MACs
Change-Id: I3bb49a82f2778e1c81ad64c8d8268d9181cbc51b
Krzysztof Jackiewicz [Fri, 13 May 2016 07:37:10 +0000 (09:37 +0200)]
Remove CMAC from digest algorithms.
Change-Id: I3bb2ddd69b3f7d052cf2fbaea5feaf1b88be9795
Krzysztof Jackiewicz [Tue, 17 May 2016 09:57:12 +0000 (11:57 +0200)]
Add separate API function stubs for HMAC/CMAC context initialization.
MACs are symmetric equivalent for asymmetric signatures. For asymmetric
signatures the signing algorithm can be easily deduced from the key. This is
not the case for MAC's where plain symmetric key tells us nothing about the MAC
algorithm we want to use. Considered solutions:
1. Introducing new key types for MACs. Cons:
- unclear how to handle plain symmetric keys,
- introduces an artificial division in symmetric keys,
- new enum values,
- CMAC cipher has to be set via ctx params.
2. Deducing MAC algorithm from digest algorithm. Digest->HMAC, no digest->CMAC.
Cons:
- unclear which algorithm will be used,
- adding new MAC algorithm may require a significant API change,
- CMAC cipher has to be set via ctx params.
3. Leaving CMAC as a digest algorithm. Cons:
- CMAC is not a digest algorithm. It's an equivalent of HMAC, RSA, DSA,...etc,
- CMAC can't be used for calculating message digest alone,
- CMAC can't be used as a digest algorithm for HMAC
- CMAC cipher has to be set via ctx params.
4. Adding new API for CMAC and HMAC context creation. Cons:
- 1 new functions per MAC algo for context initalization,
- 1 function for signature comparison
- low API flexibility
This is an initial commit for solution 4.
Change-Id: I745854fd7b7d87f2c114475b709566ec512d7bbd
Krzysztof Jackiewicz [Fri, 13 May 2016 13:15:36 +0000 (15:15 +0200)]
Hide debug function
Debug function is exported but the header is kept private.
Change-Id: I399bc52688c126a061dc29d66029bfe66d993c47
Dariusz Michaluk [Tue, 17 May 2016 09:11:18 +0000 (11:11 +0200)]
Remove CTR bits param.
Only default 128b is supported by openssl at the moment.
Change-Id: Id5f70b196940172e567e7e357269babeae714a29
Dariusz Michaluk [Tue, 17 May 2016 08:59:43 +0000 (10:59 +0200)]
Remove OCB block cipher mode.
Change-Id: I676b80d4491ad70b6bbc0ef4ade80a3df8ca649b
Dariusz Michaluk [Thu, 12 May 2016 15:24:26 +0000 (17:24 +0200)]
Add CFB1 and CFB8 chaining modes.
Change-Id: Ia464613fd38ec14f3d32905966eefe7ead430444
Dariusz Michaluk [Thu, 12 May 2016 14:46:09 +0000 (16:46 +0200)]
Update AES description.
Change-Id: I4172389ae79b2c1028f3035d051f69db0a90804a
Dariusz Michaluk [Mon, 9 May 2016 14:25:03 +0000 (16:25 +0200)]
Rework symmetric encrypt/decrypt example.
Change-Id: If8427b9a1374169f28541bc2435ffb0ce4e20cd4
Lukasz Pawelczyk [Wed, 18 May 2016 15:13:07 +0000 (17:13 +0200)]
API update: add YACA_ERROR_NONE enum value
Change-Id: I88b5786a375a7c5c0bda47266ea332a09fb73ae5
Lukasz Pawelczyk [Wed, 18 May 2016 13:41:11 +0000 (15:41 +0200)]
API changes around key getters.
yaca_key_get_bits() - return bits by size_t typed output param
yaca_key_get_type() - new getter to get the type of the key
Change-Id: I255f3bf3056a50602c1c2bd0a25c177ecf88ee07
Lukasz Pawelczyk [Tue, 17 May 2016 16:48:31 +0000 (18:48 +0200)]
yaca_key import/export API change - passwords
Change-Id: Ifcc7c3eca1323cb4418190867bedf1a197b08f73
Dariusz Michaluk [Wed, 18 May 2016 08:28:59 +0000 (10:28 +0200)]
Fix API for yaca_get_iv_bits().
Return the value by size_t param instead of signed int return.
The return value is used only for error codes from now on.
Change-Id: I90afedcffeb37ab315b4f4681323f3d64b7bc9ec
Dariusz Michaluk [Wed, 18 May 2016 07:30:36 +0000 (09:30 +0200)]
FIX: SIZE_MAX undeclared.
Change-Id: I282d74613fc8f1617575597ae3a26ee4eef385f0
Lukasz Pawelczyk [Fri, 13 May 2016 17:16:25 +0000 (19:16 +0200)]
get/set_ctx_param for sign/verify (RSA padding only)
Change-Id: I9ce5bde7a43bae619546c9cc5b3e54c4388ca755
Lukasz Pawelczyk [Tue, 17 May 2016 12:19:11 +0000 (14:19 +0200)]
Lower the key bit_len in sign/verify example
It takes too long to run the example with 4k key for our purposes.
Change-Id: I331782d9cf90f621cf2b009ad4751a952157341f
Lukasz Pawelczyk [Tue, 17 May 2016 13:07:18 +0000 (15:07 +0200)]
Fix assert vs error codes usage in get_sign_output_length()
Change-Id: Ieca2200d6f844590ed16b0dc314e56a4572c5dfa
Lukasz Pawelczyk [Fri, 13 May 2016 15:51:07 +0000 (17:51 +0200)]
Get rid of few TODOs that no longer apply
Change-Id: I0763fba2200770137eb73e9a7c4ee4ff4858e35d
Lukasz Pawelczyk [Fri, 13 May 2016 14:45:41 +0000 (16:45 +0200)]
Fix API for get_output_length()
Return the value by size_t param instead of signed int return. The
return value is used only for error codes from now on.
Change-Id: I8c4665342316f35d9aea1d2b3605a1248fc31b17
Dariusz Michaluk [Wed, 11 May 2016 09:04:43 +0000 (11:04 +0200)]
Add support to RC2/RC4 encrypt/decrypt. Update documentation.
Change-Id: I57a54e9581af12ffe73a721c7cae8c3880df94ab
Dariusz Michaluk [Wed, 11 May 2016 07:31:30 +0000 (09:31 +0200)]
[FIX] ECB mode does not use an IV, so IV can be YACA_KEY_NULL.
Change-Id: I64dbb66346176da764009ffb549451fffa5a5435
Dariusz Michaluk [Tue, 10 May 2016 12:57:30 +0000 (14:57 +0200)]
Add support to CAST5 encrypt/decrypt. Update documentation.
Change-Id: I645018182fc723190223eac627c665d84da41340
Dariusz Michaluk [Mon, 9 May 2016 14:30:23 +0000 (16:30 +0200)]
Add support to DES encrypt/decrypt. Update documentation.
Change-Id: Ide2d1f93cd2deef711a7fdfd2dd922f46f8f3637
Dariusz Michaluk [Mon, 9 May 2016 14:27:22 +0000 (16:27 +0200)]
Generate/import/export DES key.
Change-Id: Iac23685e9be18204c0d9a317bf4aa17e4539e556
Krzysztof Jackiewicz [Fri, 13 May 2016 10:45:55 +0000 (12:45 +0200)]
Add prefix to header guards to avoid conflicts.
Change-Id: I1e96b8ca538d61da8d4ae34ab9ee632472e192ce
Krzysztof Jackiewicz [Fri, 13 May 2016 10:26:03 +0000 (12:26 +0200)]
Remove symbol names from @brief paragraph
Symbol names are not necessary in @brief paragraph. The symbol names are
produced anyway and there's no point in duplicating them.
Change-Id: I5283771962966cf2ff5ffbf91499f0c2fe8e48cd
Krzysztof Jackiewicz [Fri, 13 May 2016 10:31:01 +0000 (12:31 +0200)]
Prevent use of uninitialized variable in examples
Change-Id: I79052b160cd3d009fe89652a33e0450ee1e516d3
Lukasz Pawelczyk [Mon, 9 May 2016 13:51:40 +0000 (15:51 +0200)]
Example for X509 import
Change-Id: I698b81ff87ca4f2579447a8085a2a2ba2f0cb3ee
Lukasz Pawelczyk [Mon, 9 May 2016 13:50:58 +0000 (15:50 +0200)]
Add support for importing public keys from X509 certificate
Fix a bug with X509 not being freed and pkey not being freed in case of
an error.
Change-Id: I063f606b928c679c452347cc18db793fc066c509
Lukasz Pawelczyk [Mon, 9 May 2016 12:08:35 +0000 (14:08 +0200)]
Use specific RSA/DSA export variants
The reason is, that the output of a PEM is different in the case of
PrivateKey variant and DSAPrivateKey and RSAPrivateKey
variants. According to the manual they should behave the same way. They
don't. They seem to be in a different ASN1 format. This change is to be
consistent with the default behaviour of the command line tool.
This problem does not seem to appear on DER keys, but just for
consistency and to be safe do the same there.
Change-Id: I6a765e831515e9aac0353595132a139aec7b38d2
Lukasz Pawelczyk [Mon, 9 May 2016 11:29:05 +0000 (13:29 +0200)]
DSA sign/verify example
Change-Id: I29208ed486b03f40af4a1ddd52f999b3c6d25a99
Lukasz Pawelczyk [Mon, 9 May 2016 11:27:08 +0000 (13:27 +0200)]
DSA sign/verify support
The previous implementation was generic enough to handle DSA as well.
Change-Id: I0c952e340cae3fabb05aa0e10fa5f0947319e4f8
Lukasz Pawelczyk [Mon, 9 May 2016 11:20:54 +0000 (13:20 +0200)]
Add DSA to import/export example
Improved printing a little. This example can serve partially as a
test. It has been written this way as a verification tool as we don't
have proper tests yet.
Change-Id: Ifbda0f17e2e8fc0b734d34d49668a4a7662c337d
Lukasz Pawelczyk [Mon, 9 May 2016 10:42:54 +0000 (12:42 +0200)]
yaca_key_import()/yaca_key_export() for DSA
It seems that my previous import/export commit was generic enough to
handle DSA as well. Only minor change was required to enable DSA. That's
why this commit is so short.
Change-Id: I0627c10a723b0011dde705d74d290caa36533a9d
Lukasz Pawelczyk [Fri, 6 May 2016 16:44:56 +0000 (18:44 +0200)]
yaca_key_gen() and yaca_key_extract_public() for DSA
There is no dedicated method to extract public key for DSA, only
export/import (to temporary memory). As the latter method also works for
RSA and I predict it will work for ECDSA I use it exclusively.
Change-Id: Idf25df43da571cfb3d67192b5263e4a4c260feeb
Lukasz Pawelczyk [Fri, 6 May 2016 14:18:53 +0000 (16:18 +0200)]
Add GNU global files to .gitignore
Change-Id: I6e7160af73a35b33bdcf76059c3a99be8f29c0db
Lukasz Pawelczyk [Fri, 6 May 2016 09:49:23 +0000 (11:49 +0200)]
Add missing example comments
Change-Id: Ie67851cf21395a72519ff2d2e79973184572749c
Lukasz Pawelczyk [Wed, 4 May 2016 11:36:27 +0000 (13:36 +0200)]
Removal of yaca_key_gen_pair() and its enum values
You can achieve the same now with yaca_key_gen() and
yaca_key_extract_public() if/when the latter is needed.
Change-Id: I5f47ed118e283b4d868f000108900f377b1260df
Lukasz Pawelczyk [Mon, 2 May 2016 15:48:47 +0000 (17:48 +0200)]
Make it possible to generate private keys with yaca_key_gen()
Change-Id: I7d4928ab27dad85cd52f3cff60ff9a9e61ae261f
Lukasz Pawelczyk [Mon, 2 May 2016 11:50:46 +0000 (13:50 +0200)]
yaca_key_extract_public() public function
The idea is to remove yaca_key_gen_pair() and always generate using
yaca_key_gen(). The latter will always generate private keys for
asymmetric types. Public key will be extracted (if needed) using the
function implemented here.
This approach has an advantage that we can extract public keys for
private keys imported from external sources. Previously this was
impossible.
Change-Id: I081c81eb37ed3267518aac21a9bf36063ef0e901
Lukasz Pawelczyk [Wed, 11 May 2016 10:19:41 +0000 (12:19 +0200)]
Incorporate sanity checks into key_get_* functions
Change-Id: I2d13b621b202c6c5800b745fe5b9f48d5a88aac8
Lukasz Pawelczyk [Mon, 9 May 2016 13:55:29 +0000 (15:55 +0200)]
write_file()/read_file() functions added
They are not used now, but they are very helpful for debugging and they
will be used in future examples.
Change-Id: Ia3cee5a67013543096cef45b04b649ce5faaf9e8
Dariusz Michaluk [Fri, 6 May 2016 13:14:22 +0000 (15:14 +0200)]
Remove YACA_ERROR_NOT_SUPPORTED
Change-Id: I3f6b9cf907fc4fb4e0dd6dd84452f1448e223e65
Krzysztof Jackiewicz [Thu, 5 May 2016 09:45:46 +0000 (11:45 +0200)]
Make yaca GCC 5 compatibile
GCC 5 issues a warning for __FUNCTION__. Use __func__ instead.
Change-Id: I3d37621c8384e4f229140bfc3af8c92f81058ff5
Lukasz Pawelczyk [Tue, 26 Apr 2016 13:04:30 +0000 (15:04 +0200)]
key_import/key_export example
Change-Id: Ia638fdc60c88684163dc6afe3aa3e83d65684950
Lukasz Pawelczyk [Thu, 28 Apr 2016 16:30:29 +0000 (18:30 +0200)]
yaca_key_import() basic implementation (symmetrical and RSA)
Change-Id: I8a90a06326fabbbd8b013452c1d0797635451464
Lukasz Pawelczyk [Mon, 25 Apr 2016 16:33:26 +0000 (18:33 +0200)]
yaca_key_export() implementation for YACA_KEY_FORMAT_DEFAULT
Change-Id: I946b1f862dd7f75d93372cea00deb6487ae35fb7
Lukasz Pawelczyk [Thu, 28 Apr 2016 11:55:04 +0000 (13:55 +0200)]
Some TODOs added for things noticed
Change-Id: I8683a77c3e50dea327cb5c10973d1fe310765470
Lukasz Pawelczyk [Thu, 28 Apr 2016 11:39:06 +0000 (13:39 +0200)]
Small fixes in key.c
Check for key length (non zero and dividable by 8).
Asymmetric keys in the current state are INVALID_ARGUMENT.
Change-Id: Ic7dd64fa86a485f11e52b83b2b82f710c4d55c80
Lukasz Pawelczyk [Wed, 20 Apr 2016 14:35:44 +0000 (16:35 +0200)]
API changes around key_import and key_export
key_import will autodetect key_format and key_file_format. Only the
expected key_type is required.
key_export needs to have key_format and key_file_format explicitly
given (obviously). It will get the key_type from the key.
Change-Id: I6a8e04c886f6acd95dc124918606fbad992108c2
Dariusz Michaluk [Thu, 5 May 2016 10:39:23 +0000 (12:39 +0200)]
Add info about yaca tests. Remove unnecessary test dir.
Change-Id: Icb519091c09c426993c50f5fac8ef6d9c1c8c874
Lukasz Pawelczyk [Wed, 20 Apr 2016 13:19:50 +0000 (15:19 +0200)]
Rename key_fmt to key_file_fmt type and introduce a real key_fmt enum.
key_file_fmt is a format of the file (PEM, DER, RAW, BASE64).
Newly added key_fmt is a format of a key within file format (PKCS#X, etc).
E.g. we can have PKCS#1 encoded as PEM or DER and PKCS#8 encoded again
as PEM or DER. Those two format types are independent of each other.
Change-Id: I38b9106c619a5b45c09be48d95f9278f43b79dd4
Lukasz Pawelczyk [Mon, 25 Apr 2016 13:31:22 +0000 (15:31 +0200)]
Switch to smart-tabs in key.c and key.h
Change-Id: I8d6186819fe1edb3cea5a58124e06e4b1fbbbac9
Dariusz Michaluk [Thu, 28 Apr 2016 12:01:30 +0000 (14:01 +0200)]
Replace YACA_ERROR_OPENSSL_FAILURE with YACA_ERROR_INTERNAL
Change-Id: Ibb6ffca3dc778479556ba7412b46b3f9c542c424
Dariusz Michaluk [Thu, 28 Apr 2016 11:07:47 +0000 (13:07 +0200)]
Cleanup API documentation.
Change-Id: I4e4e1ce027d9672adb1bf92eebfc8e8696f90cb5
Dariusz Michaluk [Thu, 21 Apr 2016 11:06:31 +0000 (13:06 +0200)]
Review and simplify Seal/Open example.
Change-Id: I3d41c8de8edf79237027162f654af65952a5d9d3
Dariusz Michaluk [Thu, 21 Apr 2016 11:09:18 +0000 (13:09 +0200)]
Seal/Open implementation.
Change-Id: I8c89eb8117158440fb6bd5ab8a6875ca29755093
Dariusz Michaluk [Thu, 21 Apr 2016 14:06:38 +0000 (16:06 +0200)]
yaca_open_init() needs key length to generate EVP_CIPHER
Change-Id: I5d12ca2ac41c54a6a73844033c9ab6a0118b954f
Dariusz Michaluk [Tue, 12 Apr 2016 13:48:14 +0000 (15:48 +0200)]
Change spaces to tab in CMakeLists
Change-Id: I721359eaade46100c96d6a9fd9ed3e24293868d6
Krzysztof Jackiewicz [Thu, 21 Apr 2016 11:06:40 +0000 (13:06 +0200)]
Set debug function in examples
Change-Id: Ia4e65acbad056d988b7ceffa3f9190f40b35270a
Krzysztof Jackiewicz [Thu, 21 Apr 2016 10:51:54 +0000 (12:51 +0200)]
Dump openssl errors after each failure
Change-Id: Ie665574073d00e29a451fcd799488efa35023bbb
Krzysztof Jackiewicz [Thu, 21 Apr 2016 11:15:53 +0000 (13:15 +0200)]
Add helper functions for openssl error handling
Change-Id: Ibc20d9e37bc2d90a92646e1115d9a1b63f5342e6
Dariusz Michaluk [Thu, 21 Apr 2016 09:45:31 +0000 (11:45 +0200)]
Bugfix: yaca_encrypt_final used in decryption
Change-Id: I26f60bc9adfd8e55390a1522c6d36197cccc46b5
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:56:31 +0000 (16:56 +0200)]
Examples reviewed and simplified after RSA/HMAC sign implementation.
Change-Id: I4b771695346d77ff0a133a6907e701de6fcfe856
Lukasz Pawelczyk [Tue, 12 Apr 2016 11:42:52 +0000 (13:42 +0200)]
Sign/verify initial implementation. Examples to follow.
Change-Id: I31205fdbb897011b2cf5cbff02acbae396e95205
Lukasz Pawelczyk [Wed, 20 Apr 2016 13:28:15 +0000 (15:28 +0200)]
Split ECC key types into ECDSA and ECDH
Change-Id: I58b90609886d529cc1b387c56dd544977e5b6803
Lukasz Pawelczyk [Fri, 15 Apr 2016 14:07:12 +0000 (16:07 +0200)]
Add a line break before printing out formatted data bytes.
Change-Id: Iadd01247f0cba4190f99990bdf48e38351580a56
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:56:09 +0000 (16:56 +0200)]
Add a TODO about get_output length signature.
Change-Id: I33b588ab52da7e1efb05e48c73f5335f02b55fb8
Dariusz Michaluk [Mon, 18 Apr 2016 14:56:42 +0000 (16:56 +0200)]
yaca_seal_init() needs key length to generate EVP_CIPHER
Change-Id: I65f40910983d5d8928174807dbdc7c622eee70d8
Dariusz Michaluk [Mon, 18 Apr 2016 10:35:32 +0000 (12:35 +0200)]
Split symmetric/asymmetric encryption
Change-Id: Iab1755771de9cdb8d2b2902cf6b6a1adcb343ade
Lukasz Pawelczyk [Thu, 14 Apr 2016 14:52:58 +0000 (16:52 +0200)]
Nullify destroyed pointer.
Change-Id: I40384227010a733499b05bf6b587a1ec125505df
Mateusz Kulikowski [Mon, 11 Apr 2016 13:52:33 +0000 (15:52 +0200)]
yaca_ctx_free: Cause exception on missing destructor.
ctx->ctx_destriy is mandatory for all contexts.
Add assert to verify that.
Change-Id: I1a1b5b5c7eb50eb5cea440ad74d410aeb2cdda59
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:51:51 +0000 (15:51 +0200)]
Add yaca_ctx_get|set_param prototypes.
Change-Id: I714a47663e742bc8c3eeb446483eee0a58a8a056
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:50:50 +0000 (15:50 +0200)]
Use crypto_zalloc for internal structure allocations.
Change-Id: I3a3f738cf238c362ac33e3aa01c3a37d263140f9
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:46:33 +0000 (15:46 +0200)]
yaca: add yaca_zalloc
This allocator will be mostly used to allocate contexts/keys.
Change-Id: I5c3a5efcda5a243503ac80502c221157e18eaa2a
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:35:20 +0000 (15:35 +0200)]
Implement limited symmetric cipher support
Change-Id: I5b130e3e1d41cfcce1f730f3d1b316c088432677
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Dariusz Michaluk [Mon, 11 Apr 2016 13:10:17 +0000 (15:10 +0200)]
Add package with examples.
Change-Id: Idd9fee1bdc3588721fb74f1dca3ff570e827a757
Mateusz Kulikowski [Mon, 11 Apr 2016 13:33:39 +0000 (15:33 +0200)]
Implement yaca_get_iv_bits()
Move code to encrypt* as it's encryption related.
Change-Id: Id9b5072e3fb220aaffcc0f1aad5f2b0893fa06ed
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
Mateusz Kulikowski [Mon, 11 Apr 2016 13:31:50 +0000 (15:31 +0200)]
encrypt: add get_symmetric_algorithm
Implement function to map yaca algorithm enums to EVP_CIPHER.
It is currently not very fast, and doesn't handle all algorithms/modes
supported by yaca.
Change-Id: I34c9a78044561b7fdcdc9e23632e45ff745e7f34
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>