Age | Commit message (Collapse) | Author |
|
String types are still a bit weird. Amost everything here is
currently required to be bytes rather than str in Python 3, which
feels a bit unnatural, but everything on the wire has to be bytes and
we don't really have enough information to know when we should be
converting back to str. In the long term, once we ditch Python 2, we
may be able to do a bit better for things like the string versions of
attribute names, but for the moment it's simplest to stick with bytes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Oleg found a cute bug where C_SignUpdate() and C_SignFinal() would
generate an incorrect signature which C_VerifyUpdate() and
C_VerifyFinal() would think was fine because the verification code had
essentially the same bug as the signature code. None of this applied
to the (much) more commonly used C_Sign() and C_Verify() functions,
which is why nobody noticed until now.
Bug fixed in sw/libhal commit 36dfaf0adbddbb9f1f7852911228b3ab24ba01aa
but we need a regression test to make sure we don't reintroduce the
bug. So we add a test which computes the signature both ways, then
verifies it with PyCrypto as well as both ways with our own code.
We should probably be doing more comparisons of RSA results with
PyCrypto. For ECDSA with non-deterministic signatures it's a bit
harder, but more checking against the Python ecdsa library would still
be a good idea.
|
|
Database location environment variable is now CRYPTECH_PKCS11_DATABASE.
Installed library is now libcryptech-pkcs11.{so,dylib}.
|
|
|
|
garbled reports if a test fails.
|
|
Disable 3416-bit RSA key generation tests while we sort out whether
simply padding the modulus out to the next 32-bit boundary is
sufficient to support these with ModExpS6/ModExpA7.
|
|
|
|
|
|
* Don't modify the wheel PIN unless specifically requested
* Don't try to run the Novena RPC test server (or any server) by default.
Still need to rewrite some of the RSA key tests, particularly the
external key load test, to conform to known implementation constraint
that key length must be a multiple of 32 bits; deferred until we
switch back to hardware modexp, as this won't matter until then.
|
|
|
|
|
|
|
|
key is a session object. Doesn't actually save us anything, but Jakob
tells us that this makes a difference on some HSMs so we people use
this kind of setup and we need to support it.
Explicitly disallow private keys as session objects, since we have no
way to protect them. Update unit-tests now that we return the correct
error code for this case.
|
|
|
|
keys to be stored as session objects, so test that doing so fails as
expected, and update other tests to specify CKA_TOKEN = True.
|
|
|
|
created by earlier keypair.
|
|
token, since we just demonstrated (the hard way) that testing only one
is not sufficient.
|
|
in handle lookup code.
The mapping between PKCS #11 objects and libhal handles isn't quite
right yet. This is a snapshot of bugfixes accumulated along the way,
before refactoring mapping code to deal with the underlying problem.
|
|
|
|
Turns out that the one remaining old PKCS #11 unit test we weren't
passing was a broken test: code was correctly rejecting CKA_ID
conflicts. Rewrote test, and added test setup code to use separate
client and server keystores when using the ks_mmap keystore driver.
|
|
defaults.
|
|
automatically if present.
|
|
|
|
|
|
|
|
|
|
|
|
|