A user can generate his or her own key pair, or, depending on local policy, a security officer may generate key pairs for all users. There are tradeoffs between the two approaches; in the former, the user needs some way to trust his or her copy of the key generation software, and in the latter, the user must trust the security officer, and the private key must be transferred securely to the user. Typically, each node on a network should be capable of local key generation. Secret-key authentication systems, such as Kerberos (see Question 144), often do not allow local key generation, but instead use a central server to generate keys.
Once generated, a user must register his or her public key with some central administration, called a Certifying Authority. The Certifying Authority returns to the user a certificate attesting to the validity of the user's public key along with other information (see Question 123 through Question 125). If a security officer generates the key pair, then the security officer can request the certificate for the user. Most users should not obtain more than one certificate for the same key, in order to simplify various bookkeeping tasks associated with the key.