diff options
Diffstat (limited to 'base/tps/src/main')
-rw-r--r-- | base/tps/src/main/Buffer.cpp | 10 | ||||
-rw-r--r-- | base/tps/src/main/ObjectSpec.cpp | 13 |
2 files changed, 23 insertions, 0 deletions
diff --git a/base/tps/src/main/Buffer.cpp b/base/tps/src/main/Buffer.cpp index 2a547feea..94311fc50 100644 --- a/base/tps/src/main/Buffer.cpp +++ b/base/tps/src/main/Buffer.cpp @@ -222,6 +222,16 @@ Buffer::string() return s; } +TPS_PUBLIC unsigned char* +Buffer::getBuf() { + return (unsigned char *) buf; +} + +TPS_PUBLIC unsigned int +Buffer::getLen() { + return len; +} + TPS_PUBLIC char * Buffer::toHex() { diff --git a/base/tps/src/main/ObjectSpec.cpp b/base/tps/src/main/ObjectSpec.cpp index 2896a85f0..b339fcfa6 100644 --- a/base/tps/src/main/ObjectSpec.cpp +++ b/base/tps/src/main/ObjectSpec.cpp @@ -190,6 +190,7 @@ void ObjectSpec::ParseAttributes(char *objectID, ObjectSpec *ObjectSpec, Buffer case CKA_KEY_TYPE: type = DATATYPE_INTEGER; data = b->substr(curpos+6, 4); + found = 1; /* build by PKCS11 */ break; case CKA_CLASS: @@ -208,6 +209,18 @@ void ObjectSpec::ParseAttributes(char *objectID, ObjectSpec *ObjectSpec, Buffer data = b->substr(curpos+6, 4); /* build by PKCS11 */ break; + + case CKA_EC_PARAMS: + type = DATATYPE_STRING; + data = b->substr(curpos+6, attribute_size); + found = 1; + break; + + case CKA_EC_POINT: + type = DATATYPE_STRING; + data = b->substr(curpos+6, attribute_size); + found = 1; + break; default: RA::Debug("ObjectSpec::ParseKeyBlob", "skipped attribute_id = %lx", |