OpenSSL.Net使用随记

2023-05-16

  最近在工作中遇到需要对数据传输进行加密解密,一开始是.Net与.Net环境间进行交互,使用.Net下的【System.Security.Cryptography】完全没有问题,但后来要与Java,Android,IOS进行交互,结果是怎么都对不上,在查看后得知三者平台都使用的OpenSSL进行的加解密,于是就翻出了OpenSSL.Net...

  • OpenSSL.Net是什么

  OpenSSL.Net简单的理解是对OpenSSL的动态链接库(libeay32.dll,ssleay32.dll)进行的一组C#语言的封装,使其能在.Net环境下用C#语言对字符串进行的加密、解密、签名、验签等,详细功能与算法可查阅OpenSSL

  • 使用OpenSSL.Net目的

  前面已经说了是为了完成跨平台间的传输,达到一种相对的统一

  • 使用OpenSSL.Net前提
    • 安装OpenSSL工具(https://www.openssl.org/source),并对OpenSSL命令行有一定的了解。
    • 下载OpenSSL.Net的源码(https://github.com/openssl-net/openssl-net),里面有有很详细的测试与调用方法。
  • 开始OpenSSL.Net使用

   1、新建一个项目并通过NuGet引用OpenSSL.Net(64位与32位按需安装):

  2、安装成功后:

  3、生成项目后需要把x64文件夹复制到项目的bin目录与ManagedOpenSsl.dll同级:

 

  4、需要调整项目生成目标平台(32位就是x86,64位就是x64):

  5、到此可以写代码了,大概来浏览下ManagedOpenSsl.dll的命名空间,详细可以下载源码查看:

转载于:https://www.cnblogs.com/azeri/p/8972432.html

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

OpenSSL.Net使用随记 的相关文章

  • 无法使用 OpenSSL 验证服务器证书

    我已经使用 OpenSSL 编写了一个 SOAP 客户端 在 Ubuntu 12 04 上用 C 编写 但它目前无需检查服务器安全证书即可运行 这是我用来设置连接和检查证书的函数 bool bInitialiseSSL SSL CTX ct
  • Windows 窗体中的标准 Windows 菜单栏

    我注意到添加了一个MenuStrip 来自工具箱 我的表单设计不会产生像许多本机 Windows 应用程序中那样的菜单栏 相反 我得到了一个像 Visual Studio 自己的菜单栏 没有任何样式设置MenuStrip似乎模仿了更常见的本
  • 如何强制我的 .NET 应用程序以管理员身份运行?

    一旦我的程序安装在客户端计算机上 如何强制我的程序以管理员身份运行Windows 7的 您需要修改嵌入到程序中的清单 这适用于 Visual Studio 2008 及更高版本 项目 添加新项目 选择 应用程序清单文件 改变
  • 是否有 .NET 库或 API 可以与 IIS 配置数据库交互/编辑它?

    或者我是否坚持使用自己的 XML 切割 功能 我想创建一个小型任务托盘应用程序 以便我可以快速将虚拟目录重新指向硬盘上的几个文件夹之一 一点背景 我的开发机器上的代码库有 3 个不同的 svn 分支 Current Production B
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 如果 async-await 不创建任何额外的线程,那么它如何使应用程序响应?

    一次又一次 我看到它说使用async await不创建任何额外的线程 这是没有意义的 因为计算机看起来一次做不止一件事的唯一方式是 实际上一次做不止一件事 并行执行 利用多个处理器 通过调度任务并在它们之间切换来模拟它 做一点A 一点B 一
  • 为什么 dotnet 的 char.IsLower() 是静态方法?

    这似乎违背了每一个设计准则 接受 T 类型的单个参数的静态方法通常应该只是一个成员方法 这太奇怪了我实际上不得不发布一个StackOverflow问题 https stackoverflow com questions 389100 is
  • 访问 XAML 中的静态字段

    如何在 xaml 中引用类的静态属性 换句话说 我想做这样的事情 Class BaseThingy public static readonly Style BaseStyle
  • 如何捕获一个 int

    我正在使用 IL 抛出一个 Int32 并捕获它 这只是出于好奇 我并没有试图实现任何目标 所以请不要告诉我抛出异常而不是 int method private hidebysig static void Main string args
  • WPF 如何从 DataTemplate 访问控件

    我有一个包含网格的数据模板 网格内有一个组合框
  • 在后台进程中访问 WPF FlowDocument

    在后台访问 WPF FlowDocument 我的问题涉及在 WPF 后台访问 UI 对象 我见过几十个示例应用程序 它们都很简单 易于理解 其中 95 告诉你如何显示进度条 这并不是我想要的 我的问题是这样的 我想通过访问 RichTex
  • 合并两个(或更多)PDF

    背景 我需要为我的销售人员提供每周报告包 该包包含几个 5 10 个水晶报告 Problem 我想允许用户运行所有报告并且只运行单个报告 我想我可以通过创建报告然后执行以下操作来做到这一点 List
  • MS Teams 应用程序:访问此应用程序时出现问题

    The users on MS Teams desktop reported multiple issues with our MS Teams app They see the following error on MS Teams De
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • POCO HTTPSClientSession 发送请求时遇到问题 - 证书验证失败

    我正在尝试使用 POCO 库编写一个向服务器发出 HTTPS 请求的程序 出于测试目的 我正在连接到具有自签名证书的服务器 并且我希望允许客户端进行连接 为了允许这种情况发生 我尝试安装InvalidCertificateHandler这是
  • 是否可以有一个 out ParameterExpression?

    我想定义一个 Lambda 表达式out范围 有可能做到吗 下面是我尝试过的 C Net 4 0 控制台应用程序的代码片段 正如您在 procedure25 中看到的 我可以使用 lambda 表达式来定义具有输出参数的委托 但是 当我想使
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解

随机推荐

  • 【慢慢学算法】:连通图

    题目描述 xff1a 给定一个无向图和其中的所有边 xff0c 判断这个图是否所有顶点都是连通的 输入 xff1a 每组数据的第一行是两个整数 n 和 m xff08 0 lt 61 n lt 61 1000 xff09 n 表示图的顶点数
  • 好的网站收藏---长期更新---长期更新---长期更新---长期更新--

    影视 http www bestxl com 老调网 小浪 http www bttiantang com BT天堂 http oabt org P2P xff0c 中英双语 音乐 书籍 开发 http bbs chinaunix net
  • dump文件,windbg

    dump文件 xff0c 在VC中的调试还是非常非常非常有用的 xff0c 因为我们也不会经每一行代码都加上日志 xff0c 当然如果你愿意 xff0c 也可以每一行都加上日志 xff1b 在Windows上 xff0c 添加dump文件有
  • CSS元素定位

    使用 CSS 选择器定位元素 CSS可以通过元素的id class 标签 xff08 input xff09 这三个常规属性直接定位到 xff0c 而这三种编写方式 xff0c 在HTML中编写style的时候 xff0c 可以进行标识如
  • 极度吸引人的Linode日本机房,已经成为华人大茅房

    Linode主机一直是业内比较认可的好服务商 我的几个站点也挂在Linode 但是一直在Fremont CA机房 今儿是心血来潮把主机转到了JP Tokyo xff0c 结果就出现了下面的事件 事件 事件 自从半个小时以前把Fremont的
  • FTP服务器FileZilla Server配置及使用方法

    FileZilla Server 下载安装完成后 xff0c 安装过程不写说明了 xff0c 网上一抓一大把 xff0c 直接从配置开始记录 1 创建服务器 Password xff1a 栏位中输入本服务器 Filezilla 服务的密码
  • 阿里云安全肖力:云原生安全构筑下一代企业安全架构

    34 数字经济的发展驱动越来越多的企业上云 xff0c 每个企业都会基于云原生安全能力构筑下一代企业安全架构 xff0c 完成从扁平到立体式架构的进化 xff0c 届时云原生安全技术红利也将加速释放 xff01 9月27日 xff0c 阿里
  • Vue 自定义按键修饰符

    如点击F2 触发某个事件 lt input type 61 34 button 34 name 61 34 34 id 61 34 34 value 61 34 添加 34 64 keyup f2 61 34 add 34 gt 自定义全局
  • android Studio keytool' 不是内部或外部命令,也不是可运行的程序 或批处理文件

    android Studio keytool 39 不是内部或外部命令 xff0c 也不是可运行的程序 或批处理文件 遇到这个问题好久了 xff0c 一直没解决今天搜集了大量的资料 xff0c 有的说什么Java没配置好 xff0c 不是扯
  • java -jar 运行springboot项目时内存设置

    java Xms64m JVM启动时的初始堆大小 Xmx128m 最大堆大小 Xmn64m 年轻代的大小 xff0c 其余的空间是老年代 XX MaxMetaspaceSize 61 128m XX CompressedClassSpace
  • Jupyter notebook 读取文件的问题

    Jupyter notebook只能打开当前目录下的数据集 xff08 txt CSV等 xff09 xff0c 所以需要把数据集倒导入到当前目录下 xff0c 导入的方法是 1 文件不大时 直接上传文件 pd read csv读取 2 文
  • MIUI目前为止最简单安装谷歌服务框架教程

    安装谷歌服务框架方法有很多 xff0c 比如用第三方 rec卡刷gapps包 用第三方工具安装 然而这些对于新手来说还是比较难的 xff01 我今天说的方法可以说是最简单的 xff1a 1 不需要修改文件 xff1b 2 不需要借助第三方软
  • ubuntu 下通过ftp命令下载文件

    连接 ftp 192 168 180 2 Connected to 192 168 180 2 Name 192 168 180 2 rivsidn admin Password 获取远端文件 ftp gt get test pdf loc
  • MFC与.NET混合编程

    1 xff1a VS2008 建立 MFC程序 xff1b 2 xff1a Alt 43 F7 设置 xff1a 公共语言运行库支持 xff08 选择 xff09 公共语言运行库支持 clr xff1b 3 xff1a 添加 Net相应库
  • pycharm安装到32位操作系统

    在32位操作系统中安装pycharm过程中发现的一些问题 首先是下载了最新版本的pycharm安装后打开 xff0c 弹出未发现可执行的文件 xff0c 然后想到了其他的办法 1 下载最新版本的pycharm不能直接运行 xff0c 因此可
  • Mybatis入门---一对多、多对多

    前几天自己配置了Mybatis的高级查询 xff1a 一对多和多对多 xff0c 现在记录一下 xff0c 方便以后用到的时候再回顾 xff0c 下面是具体的操作步骤 一 首先就是配置Mybatis的xml文件及mapper的xml文件 x
  • python提交带中文post请求_Python批量发送post请求的实现代码

    Python批量发送post请求的实现代码 来源 xff1a 中文源码网 浏览 xff1a 次 日期 xff1a 2018年9月2日 下载文档 Python批量发送post请求的实现代码 txt 友情提示 右键点上行txt文档名 gt 目标
  • android butterknife 自定义view,android框架之ButterKnife注解式框架

    ButterKnife注解式框架简介 所谓注解式顾名思义就是利用注解的方式将代码抽象化 xff0c 每次使用只需要传递key和value值就行了 xff0c ButterKnife框架将View定义和点击事件很好的进行了注解式抽象 xff0
  • mac远程连接linux 服务器桌面by VNC

    为了远程使用Linux服务器 xff0c 折腾了一个下午 最终看来还是用vnc最简单了 实验室有两台强劲的Linux服务器用来做研究 之前我一直都是用ssh登到服务器上去码代码 xff0c 反应速度很快 xff0c 感觉很不错 但是因为在做
  • OpenSSL.Net使用随记

    最近在工作中遇到需要对数据传输进行加密解密 xff0c 一开始是 Net与 Net环境间进行交互 xff0c 使用 Net下的 System Security Cryptography 完全没有问题 xff0c 但后来要与Java xff0