security

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 30, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

* * Copyright 2021 Comcast Cable Communications Management, LLC * * 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. * * SPDX-License-Identifier: Apache-2.0

* * Copyright 2021 Comcast Cable Communications Management, LLC * * 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. * * SPDX-License-Identifier: Apache-2.0

* * Copyright 2021 Comcast Cable Communications Management, LLC * * 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. * * SPDX-License-Identifier: Apache-2.0

Index

Constants

View Source
const (
	EncodingKeyId = "webconfig_key"
	// sermo lib
	JwtLibIdDefault = 2
)

Variables

This section is empty.

Functions

func GenerateKeyPairAsFiles

func GenerateKeyPairAsFiles(privateKeyFileName string, publicKeyFileName string) (*rsa.PrivateKey, error)

func PaddingB64

func PaddingB64(input string) string

func ParseKidFromTokenHeader

func ParseKidFromTokenHeader(tokenString string) (string, error)

func VerifyBySermo

func VerifyBySermo(decodeKeys map[string]*rsa.PublicKey, validKids []string, requiredCapabilities []string, vargs ...string) (bool, error)

Types

type ThemisClaims

type ThemisClaims struct {
	KeyId        string   `json:"kid"`
	Mac          string   `json:"mac"`
	PartnerId    string   `json:"partner-id"`
	Serial       string   `json:"serial"`
	Trust        string   `json:"trust"`
	Uuid         string   `json:"uuid"`
	Capabilities []string `json:"capabilities"`
	jwt.StandardClaims
}

type TokenManager

type TokenManager struct {
	// contains filtered or unexported fields
}

func NewTokenManager

func NewTokenManager(conf *configuration.Config) *TokenManager

func (*TokenManager) Generate

func (m *TokenManager) Generate(mac string, ttl int64) string

func (*TokenManager) SetVerifyFunc

func (m *TokenManager) SetVerifyFunc(fn VerifyFunc)

func (*TokenManager) VerifyApiToken

func (m *TokenManager) VerifyApiToken(token string) (bool, error)

func (*TokenManager) VerifyCpeToken

func (m *TokenManager) VerifyCpeToken(token string, mac string) (bool, error)

type VerifyFunc

type VerifyFunc func(map[string]*rsa.PublicKey, []string, []string, ...string) (bool, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL