LINUX使用OpenSSL进行签名

简介: LINUX使用OpenSSL进行签名

其实使用gpg也能完成任务。因为看到某个网页有介绍这种方法,于是就记录下。

  • 原理图
  • 3.png
  • 创建私钥
# 创建私钥
openssl genrsa -out key.pri -f4 2048
# 查看私钥
openssl rsa -inform PEM -in key.pri -text
  • 导出公钥
# 导出公钥
openssl rsa -inform PEM -outform PEM -in key.pri -out key.pub -pubout
# 查看公钥
cat key.pub
  • 方法1:私钥签名、公钥校验

测试发现方法1与方法2的sig文件不同。所以要分开。

# 签名
openssl dgst -sha256 -out file.sig -sign key.pri -keyform PEM file.txt
# 查看签名
od -v -An -t x1 file.sig
# 公钥校验
openssl dgst -sha256 -keyform PEM -verify key.pub -signature file.sig file.txt
  • 方法2:私钥签名、公钥校验
# 私钥签名
openssl dgst -sha256 -binary -out file.sha256 file.txt
openssl rsautl -out file.sig -sign -inkey key.pri -in file.sha256
# 查看签名
od -v -An -t x1 file.sig
# 计算信息摘要
openssl rsautl -out file.rec -inkey key.pub -in file.sig -pubin -verify
# 查看信息摘要
od -v -An -t x1 file.rec
# 计算原文件f的信息摘要。
openssl dgst -sha256 -binary -out file.sha256 file.txt
# 查看
od -v -An -t x1 file.sha256
目录
相关文章
|
Linux 编译器 vr&ar
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
linux交叉编译一些常用依赖库util-linux,zlib,sqlite3,eudev ,openssl,libpng,glibc
786 1
|
Linux
解决办法:更新linux时候提示“由于没有公钥,无法验证下列签名 ***”
解决办法:更新linux时候提示“由于没有公钥,无法验证下列签名 ***”
1352 1
|
7月前
|
安全 算法 Ubuntu
Linux(openssl)环境:编程控制让证书自签的技巧。
总结:在Linux环境中,OpenSSL是一个非常实用的工具,可以帮助我们轻松地生成自签名证书。通过上述三个简单步骤,即可为内部网络、测试环境或开发环境创建自签名证书。但在公共访问场景下,建议购买经过权威认证机构签发的证书,以避免安全警告。
351 13
|
存储 算法 Linux
在Linux中,如何理解加密工具?如GnuPG和OpenSSL。
在Linux中,如何理解加密工具?如GnuPG和OpenSSL。
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
450 3
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
238 1
|
Linux 数据库 iOS开发
超级签名源码/超级签/ios分发/签名端本地linux服务器完成签名
该系统完全在linux下运行,不存在使用第三方收费工具,市面上很多系统都是使用的是第三方收费系统,例如:某心签名工具,某测侠等,不开源而且需要每年交费,这种系统只是在这些工具的基础上套了一层壳。请需要系统的放大你们的眼睛。
248 0
|
算法 安全 Linux
Linux 裁剪并交叉编译openssl库
Linux 裁剪并交叉编译openssl库
686 1
|
应用服务中间件 Linux 网络安全
Linux【脚本 06】HTTPS转发HTTP安装OpenSSL、Nginx(with-http_ssl_module)及自签名的X.509数字证书生成(一键部署生成脚本分享)
Linux【脚本 06】HTTPS转发HTTP安装OpenSSL、Nginx(with-http_ssl_module)及自签名的X.509数字证书生成(一键部署生成脚本分享)
406 1
|
Linux
Linux安装OpenSSL
Linux安装OpenSSL
324 0