diff options
author | ruben <code@rbn.im> | 2019-05-21 22:56:55 +0200 |
---|---|---|
committer | Brendan Abolivier <babolivier@matrix.org> | 2019-05-21 21:56:55 +0100 |
commit | 74827428bd3e11faab65f12204449c1b9469b0ae (patch) | |
tree | 0decafa542436a0667ed2d3e3cfd4df0f03de1e5 /cmd/generate-keys | |
parent | 4d588f7008afe5600219ac0930c2eee2de5c447b (diff) |
use go module for dependencies (#594)
Diffstat (limited to 'cmd/generate-keys')
-rw-r--r-- | cmd/generate-keys/main.go | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/cmd/generate-keys/main.go b/cmd/generate-keys/main.go new file mode 100644 index 00000000..b807c267 --- /dev/null +++ b/cmd/generate-keys/main.go @@ -0,0 +1,65 @@ +// Copyright 2017 Vector Creations Ltd +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "flag" + "fmt" + "log" + "os" + + "github.com/matrix-org/dendrite/common/test" +) + +const usage = `Usage: %s + +Generate key files which are required by dendrite. + +Arguments: + +` + +var ( + tlsCertFile = flag.String("tls-cert", "", "An X509 certificate file to generate for use for TLS") + tlsKeyFile = flag.String("tls-key", "", "An RSA private key file to generate for use for TLS") + privateKeyFile = flag.String("private-key", "", "An Ed25519 private key to generate for use for object signing") +) + +func main() { + flag.Usage = func() { + fmt.Fprintf(os.Stderr, usage, os.Args[0]) + flag.PrintDefaults() + } + + flag.Parse() + + if *tlsCertFile != "" || *tlsKeyFile != "" { + if *tlsCertFile == "" || *tlsKeyFile == "" { + log.Fatal("Zero or both of --tls-key and --tls-cert must be supplied") + } + if err := test.NewTLSKey(*tlsKeyFile, *tlsCertFile); err != nil { + panic(err) + } + fmt.Printf("Created TLS cert file: %s\n", *tlsCertFile) + fmt.Printf("Created TLS key file: %s\n", *tlsKeyFile) + } + + if *privateKeyFile != "" { + if err := test.NewMatrixKey(*privateKeyFile); err != nil { + panic(err) + } + fmt.Printf("Created private key file: %s\n", *privateKeyFile) + } +} |