从私钥中提取公钥

2024-04-28

我尝试通过以下方式以编程方式完成步骤(2):

1. openssl genrsa -out signing.pem 2048
2. openssl rsa -in signing.pem -outform PEM -pubout -out signing.pub.pem

以下是一个简单的函数,它读取私钥并尝试提取公钥。

但是,我在匹配第二步时遇到困难,因为以编程方式生成的公钥与基于 openssl CLI 的公钥不同,我确信一定存在一些错误,请帮助我。

Thanks

   func main() {
    priv, err := ioutil.ReadFile("signing.pem")

    block, _ := pem.Decode([]byte(priv))
    if block == nil || block.Type != "RSA PRIVATE KEY" {
        log.Fatal("failed to decode PEM block containing public key")
    }
    key, err := x509.ParsePKCS1PrivateKey(block.Bytes)
    if err != nil {
        log.Fatal(err)
    }

    publicKeyDer := x509.MarshalPKCS1PublicKey(&pub.PublicKey)
    pubKeyBlock := pem.Block{
        Type:    "PUBLIC KEY",
        Headers: nil,
        Bytes:   publicKeyDer,
    }
    pubKeyPem := string(pem.EncodeToMemory(&pubKeyBlock))
    fmt.Println(pubKeyPem)
}

如果有人想检查代码并玩一下,那么这里是链接:

https://play.golang.org/p/rKerkh-31KI https://play.golang.org/p/rKerkh-31KI


Use MarshalPKIXPublicKey

publicKeyDer, err := x509.MarshalPKIXPublicKey(&key.PublicKey)
if err != nil {
    log.Fatal(err)
}

代替

publicKeyDer := x509.MarshalPKCS1PublicKey(&key.PublicKey)

操场 https://play.golang.org/p/VgFKqjFlUGu

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从私钥中提取公钥 的相关文章

  • Cgo 生成的源无法在 MVC 上编译

    我有一个用 CGo 制作的共享库 它在 Linux 和 Android 上链接得很好 但是 当使用 Microsoft Visual Studio 2017 在 Windows 10 上进行编译时 出现以下错误 Microsoft R Pr
  • 使用 MongoDB Atlas 时 mongo-go-driver 因服务器选择超时而失败

    去版本 1 12 5 我有这个使用 node js mongo 驱动程序的代码 const MongoClient require mongodb MongoClient const uri process env MONGO HOST d
  • 如何通过模板中的变量访问对象字段?

    我有一个嵌套循环 columns columns range dx dataList range c columns index dx c end end dataList是orm模型数组 和ID Title字段 那么columns is
  • 在 Go 中执行字节数组

    我正在尝试在 Go 程序中执行 shellcode 类似于使用其他语言执行此操作的方式 示例 1 C 程序中的 Shellcode https stackoverflow com questions 16626857 shellcode i
  • tomcat 7 + ssl 不工作 - ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    Ubuntu 14 tomcat 7 java 7 our crt our key 和 gd bundle g2 g1 crt 由 godaddy 提供 该捆绑包中有 3 个证书 通过查看文件可以看出 请注意 我们的密钥和 crt 在 no
  • 使用对称密钥 (AES -128) 签名和验证消息

    我想知道对称密钥可以用来签署消息吗 我们可以使用共享密钥进行加密 另外 当使用对称密钥进行签名时 JAVA 中可以使用什么 API 来加载密钥并对消息进行签名 如果我使用 java security 中的 Signature 它有一个 ap
  • 代码签名证书选项

    我被分配了为我的公司购买数字证书来签署我们的代码的任务 我们在 Microsoft 领域开发应用程序 主要是 WPF 或基于 Web 我调查了选项 发现 Comodo 价格合理且反应灵敏 我们准备继续通过它们购买证书 但是在注册表单中有各种
  • RSA 加密-解密:BadPaddingException:数据必须以零开头

    对于一个被问了很多次的问题 我很抱歉向您询问您的技能 我有一个关于 RSA 加密的问题 我已经检查过有关此问题的其他主题 但没有找到任何有用的答案 我希望你能帮助我 我想读取一个文件 加密其内容 然后解密它并将这些解密的字节放入一个新文件中
  • Tomcat 托管具有多个 SSL 证书的多个虚拟主机

    例如 我有一台使用 Tomcat 7 托管多个网站的服务器 a abc com b abc com c def com d def com 使用tomcat的虚拟主机功能 因此它们各自可能属于不同的webapps文件夹 我们现在正在尝试为每
  • 使用cgo时的多重定义

    package main int add int a int b return a b import C import fmt func main func Test1 fmt Println C add 1 3 export Test2
  • 有没有一种方法可以在不停机的情况下更新 net/http 服务器中的 TLS 证书?

    我有一个简单的 https 服务器 提供一个简单的页面 如下所示 为简洁起见 没有错误处理 package main import crypto tls fmt net http func main mux http NewServeMux
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • 在 Go 中生成随机、固定长度的字节数组

    我有一个字节数组 固定长度为4 token make byte 4 我需要将每个字节设置为随机字节 我怎样才能以最有效的方式做到这一点 这math rand就我而言 方法不提供随机字节函数 也许有一种内置的方法 或者我应该生成一个随机字符串
  • HTTP 到 HTTPS 301 重定向代码不起作用,显示重定向过多

    我正在为我的网站之一使用 Bluehost 最近 最近 我已将我的网站从 HTTP 迁移到 HTTPS 之后 我使用了不同的代码 包括以下代码 在我的网站上强制使用 HTTPS SSL Rewrite RewriteEngine On Re
  • 用于保护网站安全(使用 SSL)时,数字证书如何工作?

    请帮助我了解整个过程是如何进行的 据我了解 Web 浏览器包含 verisign Entrust Comodo 等证书颁发机构 CA 的根证书 但是当用户访问安全页面时到底会发生什么 Web 浏览器是否向 CA 服务器发送请求来验证证书 还
  • 如何使用 node.js 请求模块使用我自己的证书进行 SSL 调用?

    我正在使用 node js 和此请求模块对另一台服务器进行 HTTP 调用 https github com mikeal request https github com mikeal request 效果很好 我现在需要修改此代码以使用
  • Asp.Net Core 中的 SSL 不起作用

    我从 Visual Studio 创建了一个简单的 Web 应用程序Web Application Net Core 具有个人用户帐户授权的模板 然后 我启用了 SSLProject gt MyProject Properties 将带有
  • if 不是 localhost 语句 htaccess

    我目前强迫访问者通过 https 访问我的所有网站 主要是 Wordpress 我使用以下代码 RewriteEngine On RewriteCond HTTPS on RewriteRule https SERVER NAME REQU
  • Go io.Pipe 的缓冲版本

    有缓冲版本吗io Pipe https golang org pkg io Pipe 在标准库或第三方库中 在我推出自己的库之前 上下文 我正在尝试使用这个解决方案 https stackoverflow com a 36229262 15
  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter

随机推荐

  • 无约束类型参数错误

    我正在尝试将 glium 与 cgmath 连接起来 下列的这个答案 https stackoverflow com a 40028032 5397009 我已经实现了ToArray要转换实例的特征cgmath Matrix4转换成 gli
  • 如何隐藏我的应用程序但不关闭/完成它

    我想让用户通过隐藏它但不完成它来离开我的应用程序 我可以在主要活动中调用 finish 但这需要一些时间 这不利于用户体验 因此更好的选择可能是隐藏它 只是我不知道如何实现它 感谢您的所有回答 我不想在后台做某事 因为我已经有服务了 在我的
  • Tkinter 和 Tix 的颜色图表

    我想要可视化一些基本颜色 这样我就可以为我的配色方案选择合适的颜色 我在任何地方都找不到颜色图表 因此修改了示例来显示它 这是一个好方法吗 import Tix as tk import tkinter tix as tk for Pyth
  • 如何将任务并行库与 DataReader 结合使用

    我经常用数据填充数据读取器并像这样填充 UI using SqlConnection conn new SqlConnection myConnString using SqlCommand comm new SqlCommand Sele
  • 更改 Android 的 CalendarView 小部件中选定日期的颜色

    如何更改 android 提供的 CalendarView 小部件中所选日期的颜色 我似乎在文档中没有找到任何方法 I can change the VerticalBars using setSelectedDateVerticalBar
  • Java:如何将哈希图插入 MongoDB?

    我有一个哈希图 我试图将其插入到 MongoDB 版本 3 6 中 我知道 insertMany 方法 它只接受文档列表 我无法创建列表 因为我的数据中有重复项 我想删除它们 这就是我创建哈希图的原因 有什么办法可以将 hashmap 插入
  • 使用 gnu make 正确构建 git 子模块

    我目前尝试编写一个 Makefile 来正确构建一个包含 git 子模块的项目 该子模块有自己的一组 makefile 并一次生成多个目标 包括一些库 该 Makefile 应具有以下属性 即使使用并行构建 也不要重建两次子模块 当子模块代
  • Linq:Entity Framework Core 中的 Join 与 Include/ThenInlude

    我正在开发一个使用 SQL Server 和 EF Core v3 的项目 我有 4 个彼此相关的表 这是我的表格方案 我针对这些表编写了 2 个 Linq 查询 其中一个使用像这样的连接 var result from emailTemp
  • 我的 self.view 尺寸错误

    我的视图尺寸错误 我仅运行横向 但视图报告纵向尺寸 视图宽度 768 000000 高度 1024 000000 有任何想法如何解决这个问题吗 我尝试过使用自动旋转 BOOL shouldAutorotateToInterfaceOrien
  • Outlook 代码中的 Excel FilePicker 对话框在后台打开

    我开发了一个 Outlook 宏 让用户选择并打开 Excel 文件 文件对话框在后台打开 对于用户来说 Outlook 应用程序似乎被卡住了 而它只是在等待用户在所有其他窗口后面的文件选择器对话框中选择文件 Dim SigFolder2
  • 无论如何,HTML 表格都不适合整个屏幕

    基本上 我的网站上有一个表格无法 100 适应浏览器屏幕的宽度 即使我将宽度更改为 110 它也只是与右侧重叠 但左侧仍然有一个边距空间 表格的外部空间 我希望表格从左到右完全压在浏览器屏幕上 根本没有空间或边框 我该怎么做呢 我已经尝试了
  • 响应式 CSS 背景图片

    我有一个网站 g floors eu 我想让背景 在CSS中我为内容定义了一个背景图像 也具有响应能力 不幸的是 除了我能想到的一件事之外 我真的不知道如何做到这一点 但这是一个解决方法 创建多个图像 然后使用 css 屏幕大小来更改图像
  • 应用程序域和线程

    引用MSDN的一段话 http msdn microsoft com en us library 6kac2kdh aspx http msdn microsoft com en us library 6kac2kdh aspx 一个或多个
  • 如何确定类型参数的方差?

    灵感来自Scala 中协变和逆变的现实示例 https stackoverflow com questions 5277526 real world examples of co and contravariance in scala我认为
  • JsonDocument 获取 JSON 字符串

    我需要一个从 JsonDocument 获取 JSON 字符串的示例 我可以通过以下方式获取属性RootElement GetProperty ItemName 然后打电话 GetString 但找不到一种方法来获取 JSON 字符串形式的
  • 如何控制台登录 couchdb

    首先 我真的很喜欢使用 CouchDB 可以做的所有事情 我来自很多前端 JavaScript 我使用 console log 来执行大量调试和测试任务 我想知道如何 console log 或者 CouchDB 中可能有什么更好的调试方法
  • 为 Blazor UI 应用程序实施防伪验证

    我们的应用程序是使用 Blazor Server 和与 Azure API 通信的 razor 页面构建的 我想知道对于 Blazor UI 我们是否应该实现防伪造 CSRF XSRF 如果可以 我可以获得一些如何实现的信息吗 我观察到为
  • Spring Webflux 抛出“block()/blockFirst()/blockLast() 正在阻塞,线程reactor-http-nio-2 不支持”

    我在 Spring Webflux 中执行阻塞操作时遇到一个小问题 我检索文章文档列表 并从文章文档列表中 我想更新另一个对象 当我执行下面的代码时 有时它会起作用 有时会抛出 block blockFirst blockLast 正在阻塞
  • 为什么 objdump 不显示 .bss、.shstratab、.symtab 和 .strtab 部分?

    我目前正在用 C 语言实现我自己的 objdump 实现 For my s选项 我必须显示 ELF 文件各部分的完整内容 我做得很好 但我显示的部分比 真正的 objdump 更多 事实上 它并没有输出 bss shstrtab symta
  • 从私钥中提取公钥

    我尝试通过以下方式以编程方式完成步骤 2 1 openssl genrsa out signing pem 2048 2 openssl rsa in signing pem outform PEM pubout out signing p