noqtis-idcard(1)
NAME
noqtis-idcard —
make or check an identity card for a signing key
SYNOPSIS
noqtis idcard |
-k key
[-p key.pub]
--name name
[--orcid id]
[--email address]
[--url url]
[--affil text]
[-o file]
[-f] |
noqtis idcard |
--verify card
[-p key.pub] |
DESCRIPTION
noqtis idcard writes an identity card
(‘noqtis-idcard-1,
noqtis-capsule(5)’):
the public key of key with your name and, when given,
your ORCID iD, e-mail address, web page and affiliation, signed by
key itself. Publish the card beside your capsules (on
your web page, in a repository, with a paper) and give the SHA-256 of the
key somewhere people already know you by.
noqtis-check(1)
--card then says who sealed a capsule.
A card is self-signed: its signature shows that whoever holds the
key wrote it and that nothing in it changed since, not that the name is
true. What ties the name to the key is the key's SHA-256 that you published,
or a public key the checker already trusts (-p). Its
signature is made under its own context,
‘noqtis-idcard-1’, so a card is never
taken for a seal or a key statement, nor they for a card. The signature is
checked before the card is written, and the secret key is never in it.
The creation time is SOURCE_DATE_EPOCH
when set, as for
noqtis-seal(1),
else the clock.
With --verify,
noqtis-idcard checks card and
prints the fields it holds, its key's algorithm and the SHA-256 of its
public key (as
noqtis-inspect(1)
prints a seal's). With -p, the card must also be for
that key.
-kkey,--key=key- The secret signing key the card is for: ML-DSA, SLH-DSA or a hybrid, not Ed25519 alone.
-pkey.pub,--pub=key.pub- Its public key (default
key.pub); with
--verify, the key the card must be for. --namename- Your name as you want it shown: 1 to 255 bytes of UTF-8, no control character, no space at either end.
--orcidid- Your ORCID iD, as
‘
0000-0002-1825-0097’ or its ‘https://orcid.org/’ address; its last character must be its ISO 7064 MOD 11-2 check digit (X for 10). The card holds the bare iD. --emailaddress- An e-mail address
‘
local@domain.tld’, at most 254 bytes, no space. --urlurl- A web page: an ‘
https://’ address with a host, at most 1024 bytes, no space. --affiltext- Your affiliation, as
--name. -ofile,--out=file- Write the card to file (mode 0644) instead of standard output.
-f,--force- Replace file if it exists.
--verifycard- Check a card instead of making one.
EXIT STATUS
- 0
- The card was written, or it verifies.
- 1
- The card does not verify, is not a card, or is for another key than
-p. - 2
- A usage error, a field out of its limits, a key file that cannot be read, keys that are not a pair or not post-quantum, or a file that cannot be read or written.
EXAMPLES
$ noqtis idcard -k me --name "Ada Lovelace" \
--orcid 0000-0002-1825-0097 --url https://example.org/ada -o me.card
$ noqtis idcard --verify me.card
name Ada Lovelace
orcid 0000-0002-1825-0097
url https://example.org/ada
created 2026-10-30T12:00:00Z
alg ML-DSA-65
key 4587412415426cb336627c940b6a8c921c903d6149cc3e632a891d6de86fe710
me.card: OK (self-signed: compare the key with the one its holder gave)
$ noqtis check -p me.pub --card me.card results
An iD with a wrong check digit is refused:
$ noqtis idcard -k me --name Ada --orcid 0000-0002-1825-0098 noqtis idcard: --orcid 0000-0002-1825-0098: give an ORCID iD such as 0000-0002-1825-0097 (or its https://orcid.org/ address) whose last character is its check digit
SEE ALSO
noqtis(1), noqtis-check(1), noqtis-keygen(1), nqcard(3), noqtis-capsule(5)