首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >golang使用自定义openssl?

golang使用自定义openssl?

提问于 2022-07-06 08:59:06
回答 0关注 0查看 273

我项目中grpc需要对证书进行验证,使用x509,但是线上服务器openssl的版本太低0.9.7,并且线上服务器使用了集群,会不定时的进行迁移项目,所以升级线上服务器的openssl版本无法实现,现在我想的是在项目中自定义一个高版本的openssl,然后x509解析证书时使用自定义的高版本,但是我查看对应的package,没有找到添加自定义openssl的地方,问一下大家有什么方法可以让我的x509使用高版本openssl?

代码语言:js
AI代码解释
复制
var certFile, _ = filepath.Abs("conf/pem/ser.pem")
	var keyFile, _ = filepath.Abs("conf/pem/ser.auto_key")
	var client_ca, _ = filepath.Abs("conf/pem/ca.pem")

	var opts []grpc.ServerOption
	certificate, err := tls.LoadX509KeyPair(
		certFile,
		keyFile,
	)

	certPool := x509.NewCertPool()
	bs, err := ioutil.ReadFile(client_ca)
	if err != nil {
		log.Fatalf("failed to read client ca cert: %s", err)
	}

	ok := certPool.AppendCertsFromPEM(bs)
	if !ok {
		log.Fatal("failed to append client certs")
	}

	tlsConfig := &tls.Config{
		ClientAuth:   tls.RequireAndVerifyClientCert,
		Certificates: []tls.Certificate{certificate},
		ClientCAs:    certPool,
	}

	serverOption := grpc.Creds(credentials.NewTLS(tlsConfig))
	opts = []grpc.ServerOption{serverOption}
	s := grpc.NewServer(opts...)

回答

成为首答用户。去 写回答
相关文章
openssl使用 Demo
1. website SSL(secure Socket Layer) TLS(transport Layer Security) - SSL3.0基础之上提出的安全通信标准,目前版本是1.0 openssl 主页 -> http://www.openssl.org/ openssl 中文文档 -> http://www.chinaunix.net/jh/13/478901.html
用户3519280
2023/07/06
4020
使用 openssl 生成证书(含openssl详解)
openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。 官网:https://www.openssl.org/source/
菲宇
2019/06/12
17K0
使用 openssl 生成证书(含openssl详解)
Golang(十一)TLS 相关知识(二)OpenSSL 生成证书
0. 前言 接前一篇文章,上篇文章我们介绍了数字签名、数字证书等基本概念和原理 本篇我们尝试自己生成证书 参考文献:TLS完全指南(二):OpenSSL操作指南 1. OpenSSL 简介 OpenSSL 是一个开源项目,其组成主要包括三个组件: openssl:多用途的命令行工具 libcrypto:加密算法库 libssl:加密模块应用库,实现了ssl及tls OpenSSL 主要用于秘钥证书管理、对称加密和非对称加密 1.1 指令 常用指令包括:genrsa、req、x509 1.1.1 genrs
西凉风雷
2022/11/23
2.3K0
使用golang编写自定义prometheus metrics
为什么想到要用golang来编写metrics呢?这主要是我们的一个客户那里,k8s网络使用了ovs,并且做了bond,即bond0和bond1,每个bond下面2张网卡。在上了生产后,让我每天都要检查一下网卡是否正常,因为之前就有网卡DOWN了。而我呢,比较懒,不想手动去检查。想着通过prometheus最终展示到grafana,我就在grafana上看看有没有处于异常的网卡就好了。其次呢,我最近刚好在学习go,也想练练手;同时也问了一下研发同学,说很简单,叫我试试,遇到困难时也愿意帮助我。所以,我就打算试试了。
没有故事的陈师傅
2021/06/24
1.5K0
使用openssl 生成证书
Contents 1 关于 2 步骤 3 总结 关于 最近在用egg写一个简单的CURD项目,使用的是jwt并打算使用RS256加密方式进行加密,这里记录一下如何生成RS256证书 步骤 检查是否安装
w候人兮猗
2020/07/01
1K0
openssl安装与使用
可以通过源码安装也可以apt-get install安装,安装openssl之前先看一下自己是否安装有openssl
全栈程序员站长
2022/07/22
4.6K0
openssl安装与使用
openssl的部分使用例子
Version:1.0 StartHTML:000000223 EndHTML:000043749 StartFragment:000006251 EndFragment:000043675 StartSelection:000006272 EndSelection:000043671 SourceURL:http://slucx.blog.chinaunix.net/uid-30212356-id-5139254.htmlopenssl的部分使用例子-寂寞暴走伤-ChinaUnix博客
用户3519280
2023/07/06
3490
使用openssl创建https证书
从今天开始笔者打算和大家聊一聊http2这个协议,想要说清楚http2协议就必须亲手搭建一个http2的服务,并且对比http2和http1.1的特点,从而了解http2的一些新特性。
挥刀北上
2019/12/04
31.8K0
使用openssl创建https证书
Apache OpenSSL生成证书使用
CSR:证书签名请求,即公钥,生成证书时需要将此提交给证书机构,生成 X509 数字证书前,一般先由用户提交证书申请文件,然后由 CA 来签发证书
全栈程序员站长
2022/09/29
1.6K0
使用openssl演练数字签名
import ( "fmt" "io/ioutil" "net/http" )
charlieroro
2020/03/24
5130
openssl使用-- 之 AES算法库使用
树莓派上面使用openssl-- 之 AES算法库使用 1 OPENSSL 提供AES 库接口调用的两种方式 1.1 第一种方法,使用aes.h的方式  aes.h 代码如下, 添加了中文注释表示含义 /* * Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use *
无限之生
2020/06/30
2.3K0
Golang笔记 6.3.1 gRPC 使用 metadata 自定义认证
在 http 请求当中我们可以设置 header 用来传递数据,grpc 底层采用 http2 协议也是支持传递数据的,采用的是 metadata。 Metadata 对于 gRPC 本身来说透明, 它使得 client 和 server 能为对方提供本次调用的信息。就像一次 http 请求的 RequestHeader 和 ResponseHeader,http header 的生命周期是一次 http 请求, Metadata 的生命周期则是一次 RPC 调用。
twowinter
2020/04/17
5.2K1
golang自定义linter
linter的原理是通过静态代码分析,发现其中隐藏的错误或者不符合规范的地方,然后给暴露出来,提升系统的稳定性。linter扫描的过程如下:首先进行词法分析得到一系列token,然后通过语法分析得到抽象语法树,接着通过inspector或者visitor模式提取我们感兴趣的语法单元,结合我们的规范,对比发现其中的差异,将差异暴露出来。
golangLeetcode
2023/09/06
3990
golang自定义linter
使用 OpenSSL 加密和解密文件
加密是对消息进行编码的一种方法,这样可以保护消息的内容免遭他人窥视。一般有两种类型:
用户1880875
2021/09/06
3.8K0
openssl生成证书linux,Linux下使用openssl生成证书「建议收藏」
利用OpenSSL生成库和命令程序,在生成的命令程序中包括对加/解密算法的测试,openssl程序,ca程序.利用openssl,ca可生成用于C/S模式的证书文件以及CA文件.
全栈程序员站长
2022/10/02
6.8K0
openssl生成证书linux,Linux下使用openssl生成证书「建议收藏」
Ubuntu20 安装使用OpenSSL
OpenSSL是用于传输层安全性(TLS)和安全套接字层(SSL)的协议,功能强大且齐全的商业级工具包。它也是一个通用加密库。
草帽lufei
2022/07/29
1.4K0
Ubuntu20 安装使用OpenSSL
使用 openssl生成证书「建议收藏」
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
1.8K0
java下使用openssl生成公私钥
compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format.
sabergo
2019/02/21
2.7K0
java下使用openssl生成公私钥
使用OpenSSL创建CA和申请证书
OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。
星哥玩云
2022/07/31
2.7K0
使用OpenSSL创建CA和申请证书
[Linux] 使用openssl实现RSA非对称加密
参数:genrsa 生成密钥 -out 输出到文件 rsa_private_key.pem 文件名 1024 长度
唯一Chat
2019/09/11
3.6K0

相似问题

使用OpenSSL从SMIME?

2549

提供使用golang SDK的示例?

1343

sdk for golang?

1322

在 golang 中应该怎么使用证书?

1478

CMQ哪有官方GOLANG SDK?

1724
相关问答用户
广东 | 产品经理擅长1个领域
擅长2个领域
腾讯云 | 产品经理擅长1个领域
平安资管 | 架构师擅长4个领域
擅长3个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档