Skip to content
This repository has been archived by the owner on Jan 7, 2023. It is now read-only.
/ webssl Public archive

Simply create OpenSSL certificates for your local web or mobile development that just work!

License

Notifications You must be signed in to change notification settings

m8finder/webssl

Repository files navigation



WebSSL – OpenSSL for web and mobile development

CI Badge Test CI Badge Lint

Simply create OpenSSL certificates for your local web or mobile development that just work!

Installation

Requires Deno

Default

deno install --force --allow-read --allow-write --allow-run --name webssl https://raw.githubusercontent.com/m8finder/webssl/main/cli.ts

You can also specify a release version instead: https://raw.githubusercontent.com/m8finder/webssl/v3.0.0/mod.ts

Nest

Use Nest to securely install this package using blockchain.

nest badge

deno install --force --allow-read --allow-write --allow-run --name webssl https://x.nest.land/webssl@latest/cli.ts

or with eggs:

eggs install --force --allow-read --allow-write --allow-run https://x.nest.land/webssl@latest/cli.ts

You can also specify a release version instead: https://x.nest.land/[email protected]/cli.ts

Flags

Flag Explanation
--allow-read To read written certificate parts and your config
--allow-write To write certificate parts
--allow-run To run the openssl command
--force Override existing instances
--name Use webssl as the executable binary name

Usage

webssl [options] <destination>
webssl --filename dev_cert

The default destination is certs. To override it just prepend a path (relative or absolute) to the command but make sure it is not following any option flag.

Options

Option Description Default
--help prints this help message /
--debug print some debuggin information /
--config path to a custom config toml webssl.toml
--filename the generated files filename dev

Config

The configuration is written in toml. Read more about toml

Example webssl.toml file:

filename="dev"
destination="certs"

domains = [
  "example.dev",
  "api.example.dev"
]

ips = [
  "142.24.51.122"
]

commonName              = "com.github.webssl"
countryName             = "DE"
stateOrProvinceName     = "Germany"
localityName            = "Frankfurt am Main"
organizationName        = "WebSSL"
organizationalUnitName  = "Development"
emailAddress            = "[email protected]"

Tips

If you work on a Mac, I recommend you to create a new keychain called development where you save all certificates that are unsafe or only for the purpose of development.

Development

Please run make setup before starting any development. Increase the version in pkg.ts if you are allowed to create a release.

Install globally with the following command:

make install

For more commands read the Makefile.

Ideas

  • write more tests
  • add to deno x third-party modules list
  • create single executable
    • curl shell script to add single executable to users bin
  • make it available in:
    • npm
    • brew
  • use json import when ready: denoland/deno#7623

This is not affiliated with OpenSSL. OpenSSL and the above logo is a registered trademark owned by OpenSSL Software Foundation.