|
<?xml?>
|
|
|
|
<tm2>
|
|
<type id="GWEN_CRYPT_TOKEN_KEYINFO" type="pointer">
|
|
<descr>
|
|
</descr>
|
|
<lang id="c">
|
|
<identifier>GWEN_CRYPT_TOKEN_KEYINFO</identifier>
|
|
<prefix>GWEN_Crypt_Token_KeyInfo</prefix>
|
|
<baseFileName>ct_keyinfotest</baseFileName>
|
|
|
|
<flags>
|
|
with_inherit
|
|
with_xml
|
|
with_db
|
|
with_list1
|
|
with_list2
|
|
with_refcount
|
|
</flags>
|
|
|
|
<headers>
|
|
<header type="sys" loc="pre">gwenhywfar/types.h</header>
|
|
<header type="sys" loc="pre">gwenhywfar/buffer.h</header>
|
|
<header type="sys" loc="pre">gwenhywfar/text.h</header>
|
|
<header type="sys" loc="post">gwenhywfar/cryptalgo.h</header>
|
|
</headers>
|
|
|
|
<inlines>
|
|
|
|
<!-- Modulus functions -->
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) void $(struct_prefix)_SetModulus($(struct_type) *st, const uint8_t *p, uint32_t len);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
void $(struct_prefix)_SetModulus($(struct_type) *st, const uint8_t *p, uint32_t len) {
|
|
assert(st);
|
|
|
|
if (st->modulus)
|
|
GWEN_Buffer_free(st->modulus);
|
|
if (p && len) {
|
|
st->modulus=GWEN_Buffer_new(0, len, 0, 1);
|
|
GWEN_Buffer_AppendBytes(st->modulus, (const char*) p, len);
|
|
}
|
|
else
|
|
st->modulus=NULL;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) const uint8_t* $(struct_prefix)_GetModulusData(const $(struct_type) *st);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
const uint8_t* $(struct_prefix)_GetModulusData(const $(struct_type) *st) {
|
|
assert(st);
|
|
|
|
if (st->modulus)
|
|
return GWEN_Buffer_GetStart(st->modulus);
|
|
else
|
|
return NULL;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) uint32_t $(struct_prefix)_GetModulusLen(const $(struct_type) *st);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
uint32_t $(struct_prefix)_GetModulusLen(const $(struct_type) *st) {
|
|
assert(st);
|
|
|
|
if (st->modulus)
|
|
return GWEN_Buffer_GetUsedBytes(st->modulus);
|
|
else
|
|
return 0;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
|
|
|
|
<!-- Exponent functions -->
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) void $(struct_prefix)_SetExponent($(struct_type) *st, const uint8_t *p, uint32_t len);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
void $(struct_prefix)_SetExponent($(struct_type) *st, const uint8_t *p, uint32_t len) {
|
|
assert(st);
|
|
|
|
if (st->exponent)
|
|
GWEN_Buffer_free(st->exponent);
|
|
if (p && len) {
|
|
st->exponent=GWEN_Buffer_new(0, len, 0, 1);
|
|
GWEN_Buffer_AppendBytes(st->exponent, (const char*) p, len);
|
|
}
|
|
else
|
|
st->exponent=NULL;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) const uint8_t* $(struct_prefix)_GetExponentData(const $(struct_type) *st);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
const uint8_t* $(struct_prefix)_GetExponentData(const $(struct_type) *st) {
|
|
assert(st);
|
|
|
|
if (st->exponent)
|
|
return GWEN_Buffer_GetStart(st->exponent);
|
|
else
|
|
return NULL;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
|
|
<inline loc="end" access="public">
|
|
<content>
|
|
$(api) uint32_t $(struct_prefix)_GetExponentLen(const $(struct_type) *st);
|
|
</content>
|
|
</inline>
|
|
|
|
<inline loc="code">
|
|
<content>
|
|
uint32_t $(struct_prefix)_GetExponentLen(const $(struct_type) *st) {
|
|
assert(st);
|
|
|
|
if (st->exponent)
|
|
return GWEN_Buffer_GetUsedBytes(st->exponent);
|
|
else
|
|
return 0;
|
|
}
|
|
</content>
|
|
</inline>
|
|
|
|
</inlines>
|
|
|
|
|
|
</lang>
|
|
|
|
<defines>
|
|
|
|
<define id="GWEN_CRYPT_TOKEN_KEYFLAGS" prefix="GWEN_CRYPT_TOKEN_KEYFLAGS_">
|
|
<item name="HASSTATUS" value="0x00010000" />
|
|
<item name="HASMODULUS" value="0x00020000" />
|
|
<item name="HASEXPONENT" value="0x00040000" />
|
|
<item name="HASACTIONFLAGS" value="0x00080000" />
|
|
<item name="HASKEYVERSION" value="0x00100000" />
|
|
<item name="HASSIGNCOUNTER" value="0x00200000" />
|
|
<item name="HASKEYNUMBER" value="0x00400000" />
|
|
|
|
<item name="ACTIONMASK" value="0x0000000f" />
|
|
<item name="CANSIGN" value="0x00000001" />
|
|
<item name="CANVERIFY" value="0x00000002" />
|
|
<item name="CANENCIPHER" value="0x00000004" />
|
|
<item name="CANDECIPHER" value="0x00000008" />
|
|
|
|
</define>
|
|
|
|
</defines>
|
|
|
|
|
|
<enums>
|
|
|
|
<enum id="GWEN_CRYPT_TOKEN_KEYSTATUS" prefix="GWEN_Crypt_Token_KeyStatus" type="GWEN_CRYPT_TOKEN_KEYSTATUS">
|
|
<item name="free">
|
|
<descr>Key is unused</descr>
|
|
</item>
|
|
<item name="new">
|
|
<descr>Key is newly created</descr>
|
|
</item>
|
|
<item name="active">
|
|
<descr>Key is active</descr>
|
|
</item>
|
|
</enum>
|
|
</enums>
|
|
|
|
<members>
|
|
|
|
<member name="id" type="uint32_t" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>with_getbymember</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="keyDescr" type="char_ptr" maxlen="128" >
|
|
<default>NULL</default>
|
|
<preset>NULL</preset>
|
|
<access>public</access>
|
|
<flags>own</flags>
|
|
<setflags>const dup</setflags>
|
|
<getflags>const</getflags>
|
|
</member>
|
|
|
|
<member name="flags" type="uint32_t" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>with_flags</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="keySize" type="int" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>none</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="cryptAlgoId" type="int" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>none</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="modulus" type="gwen_buffer" maxlen="4096" >
|
|
<default>NULL</default>
|
|
<preset>NULL</preset>
|
|
<access>private</access>
|
|
<flags>own</flags>
|
|
<setflags>const dup omit</setflags>
|
|
<getflags>const omit</getflags>
|
|
</member>
|
|
|
|
<member name="exponent" type="gwen_buffer" maxlen="4096" >
|
|
<default>NULL</default>
|
|
<preset>NULL</preset>
|
|
<access>private</access>
|
|
<flags>own</flags>
|
|
<setflags>const dup omit</setflags>
|
|
<getflags>const omit</getflags>
|
|
</member>
|
|
|
|
<member name="keyNumber" type="uint32_t" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>none</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="keyVersion" type="uint32_t" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>none</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
<member name="signCounter" type="uint32_t" maxlen="8">
|
|
<default>0</default>
|
|
<preset>0</preset>
|
|
<flags>none</flags>
|
|
<access>public</access>
|
|
</member>
|
|
|
|
|
|
</members>
|
|
|
|
</type>
|
|
|
|
</tm2>
|
|
|
|
|