| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |\
| |
| | |
"final" is now a reserved word, so change occurrences to "finalize".
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Although wrapping was relatively easy it basically meant
that we depend on C compilation which becomes nightmare
as soon as multiple platforms are used. I’ve got a huge pain
once iOS was involved with 3 device archs and 2 simulator
arches to support, not mentioning different set of include
and lib flags.
So there are 2 different approaches:
- continue this way, maintaining all compilation issues like
like managing correct flags, providing correct paths and so
on. This way our Makefile will grow extremely fast and will
actually take more efforts to maintain.
- doing it pure Rust way. In this case we provide all the
macros expansions inside our wrappers and there should be
no other way to access raw data other than through those
wrappers. It might be fragile if OpenSSL internal data
structures will ever change, but I think (or hope) it is
pretty stable and wouldn’t change anytime soon.
This PR eliminates `BN_is_zero` at all from public API. It’s
functionality is implemented in `BigNum.is_zero` and should
be enough.
Additional notes:
1. I’ve moved BIGNUM into `bn` so it could access fields
directly and keep it as an opaque structure for everyone
else
2. I’ve kept empty Makefile as I hope to land `feature-matrix`
branch soon and I don’t like merging deleted/added file
conflicts.
|
| |
|
|
| |
Forcing static linking for lib wrapped as in other case doc tests
fail to locate the static library
|
| | |
|
| | |
|
| |\
| |
| | |
Fix #65: failing test case
|
| | | |
|
| |\ \
| | |
| | | |
Fixed incorrect EOF handling in MemBio, added error description
|
| | | |
| | |
| | |
| | | |
Actually, EOF wasn't handled at all and it caused `mem_bio.read_to_end()` to fail. Which in turn failed all `write_pem` implementations.
|
| |\ \ \
| |/ /
|/| | |
Using `Path`s instead of plain strings
|
| | |/
| |
| | |
Refs #45
|
| |/ |
|
| |
|
|
|
| |
Now it should correctly free all resources in case
of failure.
|
| |
|
|
| |
cc #65
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Change error messages from numeric codes to human readable strings. This makes debugging failures much easier.
|
| | |
|
| | |
|
| |\
| |
| | |
Add a dummy bn_is_zero C dependency to wrap BN_is_zero
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This is necessary because on some architectures BN_is_zero
is a CPP macro, so trying to link against it in an `extern "C"`
block causes a linker error.
This also introduces a build command to Cargo to compile
the bn_is_zero wrapper.
|
| |\ \
| |/
|/| |
User-provided data in verify
|
| | |
| |
| |
| |
| | |
There is no need in wrapping function in option as there is no
sense in providing data without function.
|
| | | |
|
| |/
|
|
| |
This should help other projects use a constant-time memory comparison.
|
| | |
|
| | |
|
| | |
|
| |\
| |
| | |
Certificate/PKey generation & PEM export
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- fixed invalid file permissions
- removed redundand mem::transmute
- removed outdated FIXME's
- removed redundand temporary variable
- removed macro_export for internal macros
|
| | |
| |
| | |
Required quite a lot of refactoring
|
| | | |
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
| |
and BN_is_odd.
Fixed incorrect BN_mod_inverse signature.
Added signature for BN_bn2dec.
Added trait implementations for Zero, One, and fmt::Show.
Added to_dec_str function to BigNum impl.
|
| |\
| |
| | |
Enabling TLS1.2 support
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
Unfortunately OS X comes with 0.9.8 bundled. There is a way to
install a recent version through homebrew, however it is
extremely hard to make it link agains brewed version without
tricking link version
|
| |/ |
|
| | |
|
| |\
| |
| | |
Allow to set cert/key pair
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
For differences, see:
http://openssl.6102.n7.nabble.com/difference-between-i2d-PUBKEY-and-i2d-PublicKey-td43869.html
This will break loading of *public* keys generated before this commit
|
| |/ |
|
| | |
|