This change:
1) Switches the Makefiles over to using LOCAL_STATIC_LIBRARIES, which I
understand is the new hotness, rather than setting a -I flag directly.
2) Switches to the non-deprecated _ex versions for EVP_EncryptFinal.
3) Uses the EVP_PKEY interface for checking PSS signatures. This is the
only supported interface in OpenSSL: the PSS padding check functions are
only exported in upstream OpenSSL because it's a library from the 90s
and they don't have a concept of "unexported". Also, by using the EVP
functions, OpenSSL/BoringSSL can do a better job of being constant-time.
Since there aren't any obvious tests for checking that the signtaure
verification still works, I tested with the code in the referenced
paste, which includes both the old and new verification functions and
checks that they both work on a sample signature. (And I also checked
that they both fail when a bit in the signature is changed.)
https://paste.googleplex.com/5747976139964416
Change-Id: Iae7409c53eeea9c3892a32c180d7181d72467dcb
* Move some libraries that were being built with the NDK but
statically included into platform code off the NDK.
* Update the prebuilt Widevine Classic binaries to 4.5.0.10131.
Bug: 15193147
Change-Id: I93f356a97c9c92c1f14c00e7420b941b1bb4357e
This is required because these makefiles contain a module that's
building agains the "current" SDK and will need to add an explicit
compile time dependency on the apache API.
Note that no runtime dependency is needed because the app targets
SDK version 12 (?!!).
bug: 18027885
Change-Id: I37587b91f9c52f88a8becce0449ac9b24a77fdad
This project is still using stlport (without telling the build system
about it), which was causing (broken) stlport headers to override
libc++ headers, leading to a broken copy of std::enable_if, which in
turn caused <atomic> to fail to compile. Since this project has
prebuilts that will need to be updated before this project can
actually move away from stlport, tell the build system that it is
still using stlport for now.
Bug: 18433002
Change-Id: I38b356428977ed2184eb28a07bd5e7424a4ace8d
(cherry picked from commit de4bc34719)
Only affects OEM integration tests, not production code.
bug: 15600077
Change-Id: Id534cec663366f639d934baf8d366615a2d97b64
(cherry picked from commit a53677d27c)
WVCryptoPlugin::decrypt stores a pointer in a uint32, so it cannot
be built for 64-bit until the api is changed. Force it to only
build for 32-bit for now.
Also set -Wno-unused-parameter to silence unnecessary warnings
so I can see the build error.
Change-Id: I7cc13cc1d8a06b17468fab6f3b28886f9af02e24
To make the information readily accessible for vendors who have signed the IDA
and to better sync the doc to our code base.
Access to /vendor/widevine is controlled and vendors need to sign the IDA.
bug: 14228621
Change-Id: I3aaa2574d99c0123cb5e0fe0f093763a973aefaf
Fix crash in WV_Teardown() causes by deleting shared output parser object.
We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.
The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.
Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.
Change-Id: I7ce467a514904c9087f0da5cea74e4b85fcac1b3
related-to-bug: 13208359
Fix crash in WV_Teardown() causes by deleting shared output parser object.
We used to have a single output parser object and a single memory chunk object
that are shared by multiple sessions. When we delete the output parser, another
session may still be using it. The deletion causes a native crash intermittently.
The fix addresses these two issues: i)output parser object is now created per
session, and ii)add reference count to keep track of the single memory chunk
object use so we do not delet it while other sessions are still using it.
Merge of https://widevine-internal-review.googlesource.com/#/c/9253/ and
https://widevine-internal-review.googlesource.com/#/c/9271/ from widevine repo
RC/4.5.0/601_AndroidOS_K branch.
Change-Id: I6426b544a6d0c264ec91a89e92153862b87607f3
related-to-bug: 13208359