In Belgium we have electronic identity cards (eID) issued by our government. They can be read by a smart card reader. On the card are two certificates, one for signing and one for authentication.

I want to distribute my public key. Can I use my eID to sign my certificate so to let users know that it really is my public key? Will this be a secure and accepted way?

Thanks for your thoughts and help.

  • What public key ? PGP ?
    – Stephane
    Feb 25, 2014 at 10:44

2 Answers 2


Your eID uses an X509 certificate signed by a CA controlled by your government. That CA is the root of your trust chain. This means that they are the one guaranteeing that they issued that certificate to you as an individual.

Signing your own public key would not provide any additional information since it's in the same trust chain.

It can even be dangerous: for instance, if you generate a PGP key and sign the public key with your personal certificate, it fails to prove that you have any access to the private part of the same key. All it proves is that, at some point, you (and you alone) claimed to own the corresponding private key. It is roughly similar to signing a photocopy of a passport: it doesn't tell the recipient that the document is an original or that you have any access to it, just that you claimed to have it and, without a trusted 3rd party authenticating that claim in a different way, it's useless.


Technically speaking you can sign whatever you want with your eID card. Anyone with your certificate will be able to validate the signature against your public key and validate the certificate path (assuming that the verifier considers the Citizen Root CA consider as a valid Trust Anchor).

However signing another certificate with your eID is not a good practice for several reasons.

First of all, it does not respect the X.509 standard. I mean that if you sign a certificate with your eID key, the validation of this certificate will be rejected by any conform X.509 validator. I see at least two reasons:

  • the Citizen CA Certificate contains an extension (named Basic Constraints) which explicitly specified that it can only issue End User certificate, i.e. certificates which are not allowed to sign other certificate
  • the eID citizen Signature Certificate contains an extension (named Key Usage) which explictly indicates that the certificate signature purpose is forbidden.

Moreover these restrictions on the certificates only reflects the certificate issuance rules which is called the certification policy. The certification policy is a document which indicates how the Certification Authority issues the certificates (for instance how the certificate holder identity is verified, which information are included into the certificate, the acceptable and prohibited usages of the certificate...).

The eID certification policy is available here: http://repository.eid.belgium.be/downloads/citizen/en/CPS_CitizenCA.pdf

The section 4.5.1 Citizen duties says:

Only using certificates for legal and authorised purposes in accordance with the CPS.

It means that even if a signature is technically valid, the value of this signature is subordinate to an authorized usage of your certificate according to the policy. In other term it is technically feasible to sign a certificate with your eID card but, since this usage is not authorized by the policy, this certificate has no value in the Citizen CA context.

But note that instaed of creating a new public key what don't you directly use your eID citizen Signature Certificate?

  • 1
    In your last sentence you suggest that I upload my 'eID citizen Signature Certificate' to a keyserver? Is this common practice? Feb 26, 2014 at 10:40
  • 1
    I do not know if it is a common practice and it depends on what you want to do with your certificate. For instance if you want some third parties to validate some documents you signed, you should use the signature certificate. If you want to authenticate yourself against a web site or web service (e.g. using a SSL connection with client authentication) you should use the authentication certificate. See the CPS sections 1.3 and 1.8 for more details on the certificate usages.
    – Jcs
    Feb 26, 2014 at 11:05
  • When you are talking about keyserver, do you mean GPG keyserver?
    – Jcs
    Feb 26, 2014 at 11:07

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .