开源工具 DotnetRSA 快速生成和转换RSA秘钥

一.简介

DotnetRSA 是一个利用 .NET Core 2.1 开发的 .NET Global Tool,是可以想npm全局安装一样,安装在你的系统中,只需敲一行命令便可以快速生成RSA加密算法所需的秘钥,目前支持三种格式的秘钥,分别为:xml、pkcs1、pkcs8。它还支持三种格式秘钥的相互转换。

二.安装

使用 DotnetRSA 需要你的系统具备.NET Core >=2.1 的环境,若没有请访问官网,按照提示进行安装:https://www.microsoft.com/net/learn/get-started/windows

输入一句命令便可以安装:

dotnet tool install -g dotnetrsa

安装成功会有如下提示:

同时输入命令 dotnetrsa 会出现如下提示:

三.使用

1.生成秘钥

生成秘钥使用命令 dontetrsa gen,加入 -h 获取帮助:

Generate xml, pkcs1, pkcs8 keys.

Usage: dotnetrsa gen [options]

Options:
  -h|--help           Show help information
  -f|--format         Required.Gen keys's format.The value must be xml, pkcs1 ,pkcs8.
  -s|--size <int>     Key Size.Default 2048.
  --pem               Pem Format. true of false.Default false.
  -o|--output <path>  File output path.If you do not specify it will be output in the current directory.

-f 或者 --format:指需要生成的格式,可以为 xml、pkcs1、pkcs8

-s 或者 --size :指需要生成的秘钥长度,默认为2048

--pem :只是否带有pem格式,值为 true 或者 false,默认为 false

-o 或者 --output :指秘钥保存的路径,默认保存在当前文件夹

生成一个长度为2048的xml格式的秘钥示例:

dotnetrsa gen -s 2048 -f xml

2.转换秘钥

转换秘钥使用命令 dontetrsa convert ,加入-h` 获取帮助:

Usage: dotnetrsa convert [arguments] [options]

Arguments:
  KeyFilePath         Required.Secret key file path.

Options:
  -h|--help           Show help information
  -f|--from <format>  Required.Source format.The value must be xml, pkcs1,pkcs8.
  -t|--to <format>    Required.Target format.The value must be xml, pkcs1,pkcs8.
  -k                  Required.Key type.The value must be pri, pub.'pub' represents the public key.
  -o|--output <path>  File output path.If you do not specify it will be output in the current directory.

KeyFilePath:指定被转换的秘钥的路径

-f 或者 --from :该字段为必须指定,指被转换的秘钥的格式,值只能为 xml、pkcs1、pkcs8

-t 或者 --to:该字段为必须指定,指需要转换的目标格式,值只能为 xml、pkcs1、pkcs8

-k :指被转换的秘钥的类型,公钥或者私钥,值只能为 pri 或者 pub ,分别代表公钥和私钥

-o :转换的秘钥的输出路径,默认为当前目录

将一个格式为xml的私钥转换为pkcs1,示例:

dotnetrsa convert c:\xml_private.key -f xml -t pkcs1 -k pri

四.参考资料

DotnetRSA 生成和转换秘钥使用了开源项目 RSAUtil :https://github.com/stulzq/RSAUtil

DotnetRSA 的开源地址:https://github.com/stulzq/dotnetrsa

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏difcareer的技术笔记

Android.mk语法解释[转]前言原文

大家在编写Android的Native代码时,经常会接触到一个叫做Android.mk的文件。 虽然编译的时候都用到的是make,但是这个Android.mk...

772
来自专栏我和PYTHON有个约会

Django来敲门~第一部分【5.1.项目配置settings.py详解】

我们创建好了一个Python项目(mysite/)之后,需要在项目中添加模块应用(polls/),在模块应用中添加处理功能逻辑,如添加模块中的视图处理函数(po...

683
来自专栏Albert陈凯

Spark详解01概览|Spark部署|执行原理概览Job 例子

概览 拿到系统后,部署系统是第一件事,那么系统部署成功以后,各个节点都启动了哪些服务? 部署图 ? Spark部署图 从部署图中可以看到 整个集群分为 Mast...

3405
来自专栏青枫的专栏

(正)斜杠 与 反斜杠

在 Windows 系统中,正斜杠/ 表示除法,用来进行整除运算;反斜杠\ 用来表示目录,例如:E:\学习资料\java\传智播客_2015年Java基础视频-...

622
来自专栏禹都一只猫博客

kubeadm join原理

ParadigmSDKv3.init('f31e45e6e4a54a2ba32539ef6053b7ad',{ isDisableArticleFetch: t...

973
来自专栏魏艾斯博客www.vpsss.net

Xshell 数字小键盘乱码不能使用的解决办法

1413
来自专栏木子墨的前端日常

ipconfig命令一览

前文用到了ipconfig /displaydns和ipconfig /flushdns,加上之前经常ipconfig查ip,今天看了一下别的命令,用的不多,仅...

722
来自专栏运维前线

Zabbix监控Dell服务器硬件状态

OMSA介绍 Dell OpenManage Server Administrator (OMSA)是一款全面的一对一系统管理解决方案。OMSA可分为两种: ...

3116
来自专栏吴柯的运维笔记

4个for/while循环语句及case语句实用脚本

脚本1:工作中如果要批量关机,可使用以下脚本查看192.168.4.0网段哪些是关机,哪些是开机状态。 ? 备注:1.{1..254}也可写作`seq 1 ...

2565
来自专栏数据库新发现

Php部分常见问题总结

Php部分常见问题总结 作者:未知 来源:未知 1:为什么我得不到变量

782

扫码关注云+社区