aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-16Round buffer size up to word boundary when verifying RSA signatures.Rob Austein
hsmbully tests strange RSA key sizes (eg, 3416 bits) which don't fall on word boundaries, at which point we have buffer padding and alignment issues when performing RSA signature verification.
2016-05-15Tweak keystore API to allow update-in-place, so hal_ks_rename() will work.Rob Austein
2016-05-15Add hal_rpc_pkey_rename(); allow null string as (temporary) key name.Rob Austein
Temporary nature of null string as key name is not enforced by the keystore code, it's just a convention to allow callers to generate a keypair, obtain the public key, hash that to a Subject Key Identifier (SKI), and rename the key using the SKI as the new name. This is a compromise to let us use SKI-based key names in PKCS #11 while keeping the keystore code simple.
2016-05-15Silence unused variable warning.Rob Austein
2016-05-14Fix key flag check, untabify.Rob Austein
2016-05-14Trailing whitespace cleanup.Rob Austein
2016-05-14Clean up pkey mixed mode.Rob Austein
2016-05-14Entirely too much fun with C const-ification.Rob Austein
2016-05-14Add mixed-mode key support, for PKCS #11 "session" (ie, not "token") keys.Rob Austein
2016-05-12Merge branch 'master' into rpcRob Austein
2016-05-12"Double and add" is sort of like "square and muliply", but "square andRob Austein
add" is just a symptom of editing documentation in one's sleep. Feh.
2016-05-12Fix buffer allocations in RPC client code.Rob Austein
The client wrappers for several RPC calls were not allocating enough space for all of their arguments. Fixed, and added a bit of syntactic sugar to make inspection a bit easier to combat the eyes-glazing-over effect of an entire file full of nearly-identical RPC client stubs.
2016-05-12Add hal_digest_algorithm_none; tweak handling of none handles.Rob Austein
2016-05-10Merge branch 'master' into rpcRob Austein
2016-05-10Update ECDSA description in README.md -- the point multiplicationRob Austein
algorithm hasn't been a Montgomery Ladder for a long time, if indeed it ever was.
2016-04-24Break the RPC dispatch out of hal_rpc_server_main, for the benefit of the ↵Paul Selkirk
threaded server.
2016-04-11Fix includes to bring hal_io_fmc.c in line with hal_io_eim.c.Paul Selkirk
2016-03-29Client includes rsa, ecdsa, asn1.Paul Selkirk
Server includes rpc_api because rpc_pkey.c calls hal_rpc_hash_* Remote client uses software modexp. Mixed client uses software hash. Add convenience targets for client, server, etc.
2016-03-29Client-side rsa and ecdsa need to call remote get_random.Paul Selkirk
2016-03-29Enable 'mixed' mode, with client-side hashing.Paul Selkirk
2016-03-29Add xdr-specific error codes; update caller's length in hal_xdr_decode_buffer().Paul Selkirk
2016-03-29Add rpc error codes.Paul Selkirk
2016-03-29Remove unneeded hal_internal.hPaul Selkirk
2016-03-29Add test-rpc_get_randomPaul Selkirk
2016-03-21Merge branch 'master' into rpcPaul Selkirk
2016-03-21stupid fixesPaul Selkirk
2016-03-21Don't build position-independent code for stm32.Paul Selkirk
2016-03-21Skip tests we know are going to fail.Paul Selkirk
2016-03-16Added serial RPC transport and lots more...Paul Selkirk
Added RPC function to get server version number. Substantially reworked GNUMakefile with conditionals. Renamed rpc_*() and xdr_*() to hal_*() for consistency. Moved hal_io_fmc.c from stm32 repo.
2016-03-12Merge branch 'master' into rpcRob Austein
2016-03-12Disable ECDSA static-test-vectors hack, fix call to hal_get_random()Rob Austein
which was using the old (pre-hal_core_t) calling sequence.
2016-03-12Test RPC key generation API.Rob Austein
2016-03-12Doh, helps to specify the curve.Rob Austein
2016-03-12Basic RPC ECDSA tests.Rob Austein
2016-03-11First round of debugging based on RPC pkey tests: mostly ASN.1Rob Austein
silliness, with a bit of PKCS #1.5 padding silliness for desert.
2016-03-11First step towards RPC PKEY tests. Currently RSA-only, test-vectorRob Austein
only, requires AES core (for key wrapping).
2016-03-09Tweak handling of byte swapping in software hash cores to get rid ofRob Austein
some unnecessary data copying.
2016-03-09Optional (compile time conditional) software hash cores. At theRob Austein
moment this is all-or-nothing, but could easily be tweaked to allow compile-time selection of particular hashes.
2016-03-03Initial implementations of ks_get_kek(). Untested, and none of theseRob Austein
are secure (the one in ks_flash.c is a stub, and the others are for cases where we have no secure hardware in which to store the KEK). These are primarily for testing, since in the long run the entire software implementation of AES-keywrap will be replaced by Verilog which never lets software see the unwrapped key. Or so says current theory. For the moment, we just need something that will let us test the rest of the RPC and keystore mechanisms.
2016-02-25RPC over loopback socket, just to work out the mechanics for serialization ↵Paul Selkirk
and dispatch.
2015-12-24Fix dispatch vector names.Rob Austein
2015-12-24hal_rpc_logout_all(), hal_rpc_is_logged_in().Rob Austein
2015-12-24More work on PIN/login/logout code. Access control still missing,Rob Austein
committing now so Paul has a chance to look at the current RPC API.
2015-12-23RPC interface to TRNG and (incomplete) PIN code.Rob Austein
2015-12-23Software modexp() implementation didn't compile due to missing proRob Austein
forma hal_core_t* argument.
2015-12-23First round of fixes for new ASN.1 and test code.Rob Austein
2015-12-22Reorder tests to put hideously slow RSA tests at the end.Rob Austein
2015-12-22Test code for ASN.1 public key functions.Rob Austein
2015-12-22Add ASN.1 support for public keys (X.509 SubjectPublicKeyInfo format).Rob Austein
2015-12-21Fix names of private key DER functions.Rob Austein