diff options
Diffstat (limited to 'src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/10gen/openssl/dhparam.go')
-rw-r--r-- | src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/10gen/openssl/dhparam.go | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/10gen/openssl/dhparam.go b/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/10gen/openssl/dhparam.go deleted file mode 100644 index 294d0645c03..00000000000 --- a/src/mongo/gotools/src/github.com/mongodb/mongo-tools/vendor/github.com/10gen/openssl/dhparam.go +++ /dev/null @@ -1,64 +0,0 @@ -// Copyright (C) 2017. See AUTHORS. -// -// 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 openssl - -// #include "shim.h" -import "C" - -import ( - "errors" - "runtime" - "unsafe" -) - -type DH struct { - dh *C.struct_dh_st -} - -// LoadDHParametersFromPEM loads the Diffie-Hellman parameters from -// a PEM-encoded block. -func LoadDHParametersFromPEM(pem_block []byte) (*DH, error) { - if len(pem_block) == 0 { - return nil, errors.New("empty pem block") - } - bio := C.BIO_new_mem_buf(unsafe.Pointer(&pem_block[0]), - C.int(len(pem_block))) - if bio == nil { - return nil, errors.New("failed creating bio") - } - defer C.BIO_free(bio) - - params := C.PEM_read_bio_DHparams(bio, nil, nil, nil) - if params == nil { - return nil, errors.New("failed reading dh parameters") - } - dhparams := &DH{dh: params} - runtime.SetFinalizer(dhparams, func(dhparams *DH) { - C.DH_free(dhparams.dh) - }) - return dhparams, nil -} - -// SetDHParameters sets the DH group (DH parameters) used to -// negotiate an emphemeral DH key during handshaking. -func (c *Ctx) SetDHParameters(dh *DH) error { - runtime.LockOSThread() - defer runtime.UnlockOSThread() - - if int(C.X_SSL_CTX_set_tmp_dh(c.ctx, dh.dh)) != 1 { - return errorFromErrorQueue() - } - return nil -} |