aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-26Add hal_set_pin_default_iterations so the CLI can use hal_rpc_set_pin with ↵Paul Selkirk
control over iterations.
2016-06-25Dial back the last-gasp iterations to something sane.Paul Selkirk
I can't see protecting the well-known default password against a brute-force attack, and 100k iterations takes almost a minute, which makes a terrible first impression.
2016-06-25Rename GNUmakefile to Makefile for consistency.Paul Selkirk
2016-06-24Support VPATH builds.Rob Austein
2016-06-24Merge branch 'master' of git.cryptech.is.:sw/libhalFredrik Thulin
2016-06-24Use hal_error_t as suggested by Rob.Fredrik Thulin
2016-06-23ks_flash returns all-ones instead of all-zeros for "blank" memory, cope.Rob Austein
This will need refactoring once we have a proper test for whether the HSM is initializing after receiving a fresh software load.
2016-06-23Preserve externally supplied LDFLAGS value (Lintian whines otherwise).Rob Austein
2016-06-23Implement master key for wrapping keys in the keystore.Fredrik Thulin
The KEK (Key Encryption Key) is first fetched from the FPGA that gets it from the volatile Master Key Memory (that in theory has tamper*kek_len = len protection with wiping), and secondly from flash. The flash option is meant for development/evaluation use using an Alpha board where the Master Key Memory is not battery backed. For any serious use of an Alpha, an option is to enter the master key into the volatile MKM on each power-on as a way to unlock the keystore.
2016-06-16Merge branch 'master' into ft-ks_flashFredrik Thulin
2016-06-14Doh, don't build RPC client transport code when we're building theRob Austein
server library, even if the old makefile (sometimes) did do that.
2016-06-14test-mkmif was missing from .gitignore.Rob Austein
2016-06-14Collapse RPC_CLIENT and RPC_SERVER makefile settings into a single RPC_MODE ↵Rob Austein
setting.
2016-06-14Add support for ModExpA7Paul Selkirk
2016-06-13Allow NULL der_len parameter in hal-rsa_private_key_to_der().Rob Austein
2016-06-12Turn hardware modexp off again, as it has problems with some of the key ↵Rob Austein
sizes hsmbully tries.
2016-06-10Allow host-side libhal build without access to secure hardware toRob Austein
store unencrypted public keys (we don't allow this for private keys). Yet another screwball feature to support PKCS #11, sigh. Anyway, with this change, mixed-mode builds should work again.
2016-06-10Helps to get the makefile variable names right.Rob Austein
2016-06-10Another attempt to clean up the libhal makefile hairball.Rob Austein
2016-06-09Fix duplicate dispatch vectors when building for RPC_CLIENT_LOCAL.Rob Austein
2016-06-09Typo in SHA-224/SHA-256 software core.Rob Austein
2016-06-09some cleanup, and fix delete operationFredrik Thulin
2016-06-09Sort out the redeclaration of HAL_OK with Rob's help.Fredrik Thulin
Thanks Rob!
2016-06-09bugfixes and cleanups, seems to sort-of work nowFredrik Thulin
2016-06-09hash.c triggers gcc's strict-aliasing warnings.Rob Austein
2016-06-08Implement flash keystore storage. Most of it is still untested.Fredrik Thulin
2016-06-03mkmif.o got lost in makefile cleanup (9ad64e1)Paul Selkirk
2016-06-02Add RPC client daemon.Paul Selkirk
2016-06-02Refactor serial and slip.Paul Selkirk
2016-06-01Add hal_rpc_client_close() where needed.Paul Selkirk
2016-06-01Make the makefile hopefully a little more readable/maintainable.Paul Selkirk
2016-05-31SHA-224 driver and soft core.Rob Austein
2016-05-31Conditionalize "mixed" operations so we can build a clean remote client.Paul Selkirk
Note that mixed mode doesn't actually work, because aes_keywrap tries to hal_io_write to the AES core.
2016-05-26correct BPKDF2 -> PBKDF2 ;)Fredrik Thulin
2016-05-25Doh, helps if one actually **uses** the argument one just parsed.Rob Austein
2016-05-25PBKDF2 works better if we generate the right number of output bytes.Rob Austein
2016-05-25Start cleaning up PIN code.Rob Austein
2016-05-25correct PBPDF2 -> PBKDF2Fredrik Thulin
2016-05-24Widen an int in an error message, for consistency.Paul Selkirk
2016-05-24Work around the fact that stm-fmc.h now pulls in CMSIS HAL symbols.Paul Selkirk
2016-05-24This should have been in commit 7f38fc4.Paul Selkirk
2016-05-24Add core address to debug outputPaul Selkirk
2016-05-24Add mkmifPaul Selkirk
2016-05-24Move htonl to hal_internal.hPaul Selkirk
2016-05-18Impressive how hard it can be to diagnose getting everything but the RPC ↵Rob Austein
opcode right.
2016-05-17Increment return count, not pointer to return count. Feh, C.Rob Austein
2016-05-16Fix inverted length check.Rob Austein
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.