1

I am trying to generate implicit ECDSA certificate only for signing and verification using OpenSSL. I tried google but I am getting many research papers. I understood that A messages need to be signed using ECDSA over the NISTp256 curve with ECQV certificates. I couldn't figure-out how.

  • Where did you read OpenSSL would support implicit certificates? I can't find any references to this. Anyways, if you really need those certificates, I think you could implement them yourself using OpenSSL. – SEJPM Mar 4 '16 at 11:26
2

Implicit certificates are a concept. Certicom's Web site contains a high-level description. A mathematical incarnation of that concept, called Elliptic Curve Qu-Vanstone (ECQV), has been proposed. the Wikipedia page includes a rudimentary description, and there is a 2013 standard from SEC that includes more details. That standard is still highly mathematical in contents and does not specify encoding details. As of 2011, it seems that there was no reference implementation at all. OpenSSL does not support ECQV.

What OpenSSL supports is generic operations on elliptic curves. From these functions, implementing the operations that constitute ECQV would be "easy" (not really easy). However, to do that properly and securely, you have to understand what is going on, i.e. you must grasp the maths in all their fine details. To implement ECQV, you should be able to, at least conceptually, make everything from scratch, starting with a basic programming language such as C -- in that sense, OpenSSL's code will save you "implementation" time, but not "understanding" time.

A big part of implicit certificates, like in any PKI system, is management procedures. Low-level implementation of the algorithms is the easy part. If you intend to use implicit certificates, you should dedicate some (most) of your time thinking about CA management.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.