github.com/nats-io/nats-server/v2@v2.11.0-preview.2/server/certstore/certstore_other.go (about) 1 // Copyright 2022-2024 The NATS Authors 2 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // you may not use this file except in compliance with the License. 4 // You may obtain a copy of the License at 5 // 6 // http://www.apache.org/licenses/LICENSE-2.0 7 // 8 // Unless required by applicable law or agreed to in writing, software 9 // distributed under the License is distributed on an "AS IS" BASIS, 10 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 // See the License for the specific language governing permissions and 12 // limitations under the License. 13 14 //go:build !windows 15 16 package certstore 17 18 import ( 19 "crypto" 20 "crypto/tls" 21 "io" 22 ) 23 24 var _ = MATCHBYEMPTY 25 26 // otherKey implements crypto.Signer and crypto.Decrypter to satisfy linter on platforms that don't implement certstore 27 type otherKey struct{} 28 29 func TLSConfig(certStore StoreType, certMatchBy MatchByType, certMatch string, caCertsMatch []string, config *tls.Config) error { 30 _, _, _, _, _ = certStore, certMatchBy, certMatch, caCertsMatch, config 31 return ErrOSNotCompatCertStore 32 } 33 34 // Public always returns nil public key since this is a stub on non-supported platform 35 func (k otherKey) Public() crypto.PublicKey { 36 return nil 37 } 38 39 // Sign always returns a nil signature since this is a stub on non-supported platform 40 func (k otherKey) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) (signature []byte, err error) { 41 _, _, _ = rand, digest, opts 42 return nil, nil 43 } 44 45 // Verify interface conformance. 46 var _ credential = &otherKey{}