Skip to content

Typos in "Fundamentals of Digital Signatures and Certificates in Java" ( https://dev.java/learn/security/digital-signature/ ) article #264

Description

@willy-b

Hello dev.java team!

Thanks again for all this excellent content. To contribute back, I am reporting the typos and other such small issues I have found as usual.


In the latest version of https://dev.java/learn/security/digital-signature/ (archived as is at https://web.archive.org/web/20260720054059/https://dev.java/learn/security/digital-signature/?nonce=10 ),

  • In the sentence

    To send a message using a digital signature you first need to generate an asymmetric key pair using and algorithm, for example Ed25519

    "using and algorithm" should be "using an algorithm"

  • In the sentence

    Having online access to almost anything and being able to interact with one another is part of our daily routine.

    it seems "Having ... and being .... is part of our daily routine" should be "Having ... and being ... are part of our daily routine".

  • In the sentences

    To send a message using a digital signature you first need to generate an asymmetric key pair using and algorithm, for example Ed25519:

    KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(Ed25519);
    KeyPair keypair = keyPairGenerator.generateKeyPair();
    

    Ed25519 should be in quotes, as "Ed25519".

  • In the sentence

    generates a public/private key pair for the entity whose "distinguished name" has a common name of "server.company.com",
    organizational unit of "My Company", organization of "My Company" and two-letter country code of "NL".

    the actual OU definition is OU=My Company Dev Team, so it should say "organizational unit of "My Company Dev Team" instead of "My Company" (organization of "My Company" is still true).

  • In the example code statement

        IO.print("Enter the message you want to encrypt using Ed25519: ");
    

    "encrypt" should be "digitally sign"

  • In the sentences

    Copy of certificate holder's public key. You need this to decrypt messages and digital signatures.

    "to decrypt messages and digital signatures" should be "to decrypt messages and verify digital signatures"

  • Nit (optional): In the sentences regarding "Digital Certificates Basics in Java"

    A trusted third party - Certificate Authority (CA) - issues digital certificates to verify the identity of the certificate holder.
    [...]
    A Certifying Authority (CA) generates it: Key Generation, Registration, Verification, Creation.
    [...]
    Certificates not issued by a known Certificate Authority but rather by the server hosting the certificate are called self-signed.

    CA is alternately defined as a "Certificate Authority" and a "Certifying Authority" in the dev.java example above; it would probably be best to use the same language as the spec ("Certification Authority" see below, though they also use "Certificate Authority" in a couple of places) though the meaning is not unclear. (Alternatively, if one believes all these terms are equally in use, one could give a full list of synonymous official terms with a link to the authorities using the various forms. "Certifying Authority" is not used in the linked X509 spec so I am not sure it is best to suggest as a definition of CA.)

    In the X.509 spec the acronym "CA" is defined as a "certification authority (CA)" (see https://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-X.509-201910-I!!PDF-E&type=items ):

    3.5.19 certification authority (CA): An authority trusted by one or more entities to create and digital sign public-key
    certificates. Optionally the certification authority may create the subjects' keys.

    (though there are 2 places in the specification PDF where they also say "certificate authority" in an example response)


Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions