
Chapter 7 Public-Key Operations 267
Performing Elliptic Curve Operations
For this example application, use
AllocAndCopyECParamInfo()
to make a copy of the
information that
cryptocECParamInfo
points to and place that in your own buffer,
ecParamInfo
:
When the information in
ecParamInfo
is no longer needed, you must remember to free
any memory that you allocated:
where
FreeECParamInfo
is a procedure that performs this operation.
output->order.len = input->order.len;
output->order.data = T_malloc(output->order.len);
if ((status = (output->order.data == NULL_PTR)) != 0)
break;
T_memcpy(output->order.data, input->order.data,
output->order.len);
output->cofactor.len = input->cofactor.len;
output->cofactor.data = T_malloc(output->cofactor.len);
if ((status = (output->cofactor.data == NULL_PTR)) != 0)
break;
T_memcpy(output->cofactor.data, input->cofactor.data,
output->cofactor.len);
output->pointRepresentation = input->pointRepresentation;
output->fieldElementBits = input->fieldElementBits;
} while(0);
if (status != 0)
printf("AllocAndCopyECParamInfo failed with status %i\n", status);
return status;
}
A_EC_PARAMS ecParamInfo;
if ((status = AllocAndCopyECParamInfo(&ecParamInfo,
cryptocECParamInfo)) != 0)
break;
FreeECParamInfo(&ecParamInfo);