Skip to content

Add cups-oauth and cups-x509 utilities #108

@michaelrsweet

Description

@michaelrsweet

Starting with the testcerts and testoauth unit test programs, create utilities for managing OAuth and X.509 credentials from the command-line.

cups-oauth

Manage OAuth/OpenID authorization data.

Usage: cups-oauth [OPTIONS] [COMMAND [ARGUMENT(S)]]

Commands:

  • authorize RESOURCE-URI: Authorize access to the specified URI.
  • clear RESOURCE-URI: Clear authorization data for the specified URI.
  • get-access-token RESOURCE-URI: Get an access token for the specified URI.
  • get-client-id: Get the client identifier used for the OAuth/OpenID authorization server.
  • get-metadata [NAME]: Get the metadata for the OAuth/OpenID authorization server.
  • get-refresh-token RESOURCE-URI: Get the refresh token for the specified URI.
  • get-user-id RESOURCE-URI: Get the authorized user ID for the specified URI.
  • set-access-token TOKEN: Set the access token for the specified URI.
  • set-client-data CLIENT-ID CLIENT-SECRET: Set the client identifier and secret to use with the OAuth/OpenID authorization server.

Options:

  • --help: Show help.
  • --version: Show version.
  • -a OAUTH-URI: Specify the OAuth/OpenID authorization server URL.
  • -r REDIRECT-URI: Specify the redirection URL to use during authorization.
  • -s SCOPE(S): Specify the scope(s) to request during authorization.

cups-x509

Manage or test X.509 certificates.

Usage: cups-x509 [OPTIONS] [COMMAND [ARGUMENT(S)]]

Commands:

  • ca COMMON-NAME: Sign a CSR to produce a certificate.
  • cacert COMMON-NAME: Create a CA certificate.
  • cert COMMON-NAME: Create a certificate.
  • client URI: Connect to URI and validate credentials.
  • csr COMMON-NAME: Create a certificate signing request.
  • server COMMON-NAME[:PORT]: Run a HTTPS server (default port 8NNN.)
  • show COMMON-NAME: Show stored credentials for COMMON-NAME.

Options:

  • --help: Show help.
  • --pin: Pin the certificate found by the client command.
  • --require-ca: Require a CA-signed certificate for the client command.
  • --version: Show version.
  • -C COUNTRY: Set country.
  • -L LOCALITY: Set locality name.
  • -O ORGANIZATION: Set organization name.
  • -R CSR-FILENAME: Specify certificate signing request filename.
  • -S STATE: Set state.
  • -U ORGANIZATIONAL-UNIT: Set organizational unit name.
  • -a SUBJECT-ALT-NAME: Add a subjectAltName.
  • -d DAYS: Set expiration date in days.
  • -p PURPOSE: Comma-delimited certificate purpose (serverAuth, clientAuth, codeSigning, emailProtection, timeStamping, OCSPSigning)
  • -r ROOT-NAME: Name of root certificate
  • -t TYPE: Certificate type (rsa-2048, rsa-3072, rsa-4096, ecdsa-p256, ecdsa-p384, ecdsa-p521)
  • -u USAGE: Comma-delimited key usage (digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement, keyCertSign, cRLSign, encipherOnly, decipherOnly, default-ca, default-tls)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions