Comments (4)
While in theory the protocol should work with both 32-bit and 64-bit systems, it might need to assume the same data model, in which GNU/Linux (LP64) and Windows (LLP64) have some differences. That's one of the reasons why we don't enable building p11-kit-client.dll on Windows by default.
from p11-kit.
I've experienced the following command differs whether executed on a 32-bit client or 64-bit client against the same token (with forwarded socket).
On a 32-bit the data object IDs are truncated and do not match the corresponding 64-bit value.
For example one of these objects (converted to hex) is 4159ea64efdded8d while the pkcs11-tool client looks for efdded8d (4024298893).
This makes all clients unusable on a 32-bit platform.
$ pkcs11-tool --module /usr/lib/arm-linux-gnueabihf/pkcs11/p11-kit-client.so --list-objects
Using slot 0 with a present token (0x1)
warning: PKCS11 function C_GetAttributeValue(CLASS) failed: rv = CKR_OBJECT_HANDLE_INVALID (0x82)
Data object 4024298893
label: <empty>
application: <empty>
app_id: <empty>
flags: <empty>
warning: PKCS11 function C_GetAttributeValue(CLASS) failed: rv = CKR_OBJECT_HANDLE_INVALID (0x82)
Data object 763047029
label: <empty>
application: <empty>
app_id: <empty>
flags: <empty>
warning: PKCS11 function C_GetAttributeValue(CLASS) failed: rv = CKR_OBJECT_HANDLE_INVALID (0x82)
Data object 4086046842
label: <empty>
application: <empty>
app_id: <empty>
flags: <empty>
from p11-kit.
@abarisani Out of curiosity, is the issue you see a recent problem or have you seen it for a longer time?
from p11-kit.
@abarisani Out of curiosity, is the issue you see a recent problem or have you seen it for a longer time?
I am experiencing this as we speak while integrating p11-kit on a 32-bit installation using https://github.com/google/go-p11-kit as RPC server.
I think the 32-bit client is requesting a ulValueLen
of 4 while the RPC server responds with 8, then the p11-kit client library is hitting CKR_BUFFER_TOO_SMALL and the object class is not being parsed correctly.
from p11-kit.
Related Issues (20)
- Meson build failure in macOS Catalina (appleframeworks not found, tried framework) in p11-kit 0.25.1+ HOT 10
- CI: add shellcheck GitHub action
- p11-kit generate-keypair should allow setting CKA_ID
- Build failure with stricter C compilers (e.g. GCC 14) HOT 2
- consider renaming parameter name "template"
- MacOS wrong library file name p11-kit-trust
- RPC: Message-Based Encryption and Signing Functions: `pParameter` can be "either an input or an output parameter"
- Lists of mechanisms are different on local and remote SoftHSM2 HOT 4
- Unknown error 13 HOT 2
- [RFE] Bad module with C_GetInterface returning 0x54 - fallback to C_GetFunctionList HOT 2
- ninja -C _build is failing HOT 5
- [Question] Alignment guarantees for CK_ATTRIBUTE HOT 5
- Add support for new mechanisms, for example SHA3 ones while remoting
- Compilation error on i386: passing argument 3 of 'p11_asn1_read' from incompatible pointer type HOT 2
- Test failure on 32-bit HOT 1
- 0.25.4 fails to compile on FreeBSD 14.0 (amd64) HOT 2
- On PPC Tiger, old Mac OS X 10.4.11, test target does not build with GCC 4.2 HOT 2
- Test-suite.log from testing p11-kit 0.25.5 on Mac OS X 10.4.11, PPC Tiger
- Test-suite.log from testing p11-kit 0.25.5 on Mac OS X 10.5.8, PPC Tiger HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from p11-kit.