1.给主程序添加签名   添加完成后会自动生成一个*.pfx文件.     2.给第三方程序添加强签名方法:   本文以WAPIWrapperCSharp.dll为例,使用vs Tools下的工具命令.   打开命令工具是这个样子,     第一步:生成随机密钥对, C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k WAPIWrapperCSharp.snk 第二步:将DLL文件反编译成IL中间语言文件 生成的结果文件为WA…
给主程序添加签名   添加完成后会自动生成一个*.pfx文件.     给程序添加强签名方法:   本文以Quartz.dll为例,使用vs Tools下的工具命令.   打开命令工具是这个样子,     第一步:生成随机密钥对, C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC>sn -k QuartzSnk.snk   第二步:将DLL文件反编译成IL中间语言文件 生成的结果文件为Quartz.il,Quartz.res,Quart…
C# dll强签名介绍 之前基本没有这个概念,直到有一天我们的dll被反编译了,导致我们的代码基本上被看到了,才想起来要保护dll的安全性,因为C#语言的在编译过程中会产生中间语言导致dll很容易被反编译.暂且先不说如何加密,为了保证dll不被别人随便使用,就首先得对其进行强签名. 为什么使用强名称签名: 通过签发具有强名称的程序集,您可以确保名称的全局唯一性.强名称还特别满足以下要求:强名称依赖于唯一的密钥对来确保名称的唯一性.任何人都不会生成与您生成的相同的程序集名称,因为用一个私钥生成的程…
假若我们要对第三方控件或者是其他的没有源代码的DLL文件想做类似的处理,增加强名称签名,怎么处理,是很多人都会面对的问题.     步骤: 1.首先采用反汇编工具ildasm生成中间语言. ildasm myTest.dll /out:myTest.il   生成的结果包括myTest.il文件和myTest.res文件     2.采用汇编工具ilasm重新生成我们自己的dll文件 ilasm的具体用法可参照MSDN的帮助,其中有一个参数/key即可为我们重新生成新的签名文件   ilasm…
1. 背景 最近在研究DotNetOpenAuth——OAuth的一个.NET开源实现,官方网站:http://dotnetopenauth.net/ . 从GitHub签出DotNetOpenAuth的源代码发现最新版本已到5.1,而NuGet中发布的版本只是4.3.新版中使用到了.NET 4.5的异步特性(async, await),于是决定直接用最新版. 用最新版,就要自己进行编译.用Visual Studio 2012打开解决方案文件进行编译,一次编译成功,但编译出的DotNetOpen…
问题: VS生成程序时,报“要将程序集“XX.dll”标记为系统必备组件,必须对其进行强签名.”错误. 解决方法: 1)在报错的解决方案中找到一个可以发布的项目(引用该XX.dll的项目未必可以发布): 2)右击该项目,选择“属性”: 3)选择“发布”: 4)点击“应用程序文件”按钮: 5)找到该“XX.dll”,将发布状态有“系统必备”改为“包括(自动)”: 6)再次运行成功. 参考: 1. 首先说明一下:X是某程序集的名称,相当于数学中的未知数X. 看到这样的提示,开始我以为是把程序集X的发…
-----转载:http://blog.csdn.net/zyming0815/article/details/5939090 创建一个新的随机密钥对:sn -k myTest.snk 第一步: 将DLL文件解开 ildasm myTest.dll /out:myTest.il 第二步: 将签名合入DLL ilasm myTest.il /res:myTest.res /dll /key:myTest.snk /out:myTestSN.dll 第三步: 检查 sn -vf myTestSN.d…
强签名: 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名的dll. 3. 强签名无法保护源代码,强签名的dll是可以被反编译的. 4. 强签名的dll可以防止第三方恶意篡改. 强签名的方法: 1. 有源代码: 1.1 使用vs tool command:snk –k mykey.snk 生成签名公钥. 1.2 将公钥加入项目中,并设置项目属性,设置签名公…
一.如何让Intenal成员暴露给另一个程序集 我们知道Modifier为Internal的类型成员仅限于当前程序集能够访问,但是在某些情况下,我们希望将它们暴露给另一个程序集.比较典型的应用场景包括如下两种: 将一个组件或者模块定义成两个或者两个以上程序集,一个程序集需要访问另一个程序集的Internal成员.比如将一个Logging组件定义成三个程序集:Logging.dll.Logging.Client.dll和Logging.Server.dll.其中后两个分别用于客户端和服务端的日志记…
背景 多数解决方案会包含多个项目,某些支持插件架构的解决方案中,更是包含多个插件项目,这些项目会使用一些第三方NuGet Packages,如果管理不慎,解决方案中会出现多个版本的引用,这在编译期间不会引起问题,甚至开发调试期间也不会有问题,不过在发布过程会出现一些诡异的问题,如:未能加载xxx.dll等问题.本文简单的介绍一下解决思路. 继续看之前可以先看看这篇文章:http://www.cnblogs.com/happyframework/p/3399975.html. 版本重定向 强签名程…
强签名: 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名的dll. 3. 强签名无法保护源代码,强签名的dll是可以被反编译的. 4. 强签名的dll可以防止第三方恶意篡改. 强签名的方法: 1. 有源代码: 1.1 使用vs tool command:snk –k mykey.snk 生成签名公钥. 1.2 将公钥加入项目中,并设置项目属性,设置签名公…
已经有强签名的dll或exe程序无法引用无签名的dll,这时候就需要对dll进行签名,签名的步骤如下: 为没有源码的DLL文件添加强名称 如果项目中引用了其他没有源码的dll文件,并且此dll文件是没有强名称的程序集,则编译时会出现类似 "Assembly generation failed -- 引用的程序集 'xxxxxxxxxxx' 没有强名称" 这样的错误. 我这里引用的是Interop.Scripting.dll程序集,它不是强名称的,则需要进行以下操作: 1.打开SDK 命…
要想得到强签名的dll有两种情况: 1.给项目添加强命名 在你的项目右键->属性->签名,勾选"为程序集签名",新建 或 浏览已经新建过的.pfx文件,然后重新build项目,生成的dll就是强命名的dll了. 2.直接给dll强命名 运行vs自带的命令提示工具,执行 sn -k [文件名].snk 命令创建snk文件(其中[文件名]你自己命名,可以包含路径): 使用ildasm **.dll /out:**.il 将dll生成中间语言文件 再使用ilasm **.il /…
<<史上最简洁版本>> 1.gem sources -l查看 当前的源 //1.1 sudo -i..以下都是以管理员的身份来操作的 2.gem sources --remove https://rubygems.org/ 3.gem sources -a https://ruby.taobao.org/ 4.xcode-select --install 5.gem install cocoapods 6.pod repo remove master 7.pod repo add…
两个步骤,记录如下,主要用在silverlight中引用的dll要签名时: "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\ildasm.exe" .\RestSharp.dll /out:.\Signed\RestSharp.il "C:\Windows\Microsoft.NET\Framework\v2.0.50727\ilasm.exe" .\Signed\RestSharp.il /dll /key=.…
.Net 常用插件及第三方库 一:第三方插件 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址:https://github.com/jdg/MBProgressHUD 3:XML/HTML解析 地址:https://github.com/topfunky/hpple 4:有文字输入时,能根据键盘是否弹出来调整自身显示内容的位置 地址:https://github.com/michaeltys…
python常用框架及第三方库 一.Web框架 1.Django: 开源web开发框架,它鼓励快速开发,并遵循MVC设计,比较庞大,开发周期短.Django的文档最完善.市场占有率最高.招聘职位最多.全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stack framework + batteries included),基本要什么有什么(比如:cache.session.feed.orm.geo.auth),而且全部Django自己造,开发网 站应手的工具Djang…
前言 上一节对日志的部分核心类型进行简单的剖析,相信现在再使用日志的时候,应该大概知道怎么一回事了,比如记录器是怎么来的,是如何将日志内容写入到不同目的地的等:当然还有很多细节没深入讲解,抽时间小伙伴们可以去研究研究:废话不多说,接下来主要举例演示日志作用域及第三方日志框架的扩展: 正文 说到日志作用域,相信很多小伙伴听着不是那么熟悉吧,之前进行日志记录时候,是不是把内容记录下来就完事了,最多就是再稍微格式化一下:如果是这样,那在排查问题的时候肯定差不多是这样:一点一点的扒日志,然后根据关键词找…
依据文档: https://msdn.microsoft.com/en-us/library/hh415055(v=vs.110).aspx 虽然文档上给出了看似完整的步骤,但是如果按照上面的步骤,结果是失败的.而且文档的里的option还用错了.(-ac应该用-a, -ac是用于keypaircontainer) 以下是一个完整的强签名迁移的sample: 用于测试的代码,可以建一个console app,类似下面的例子: using System; using System.Reflecti…
.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 參考演示样例代码,例如以下所看到的: /// <summary> /// MySql 数据库操作类 /// </summary> public class MySqlHelper { /// <summary> /// MysqlConnection /// </summary> private static MySql.Data.MySqlClient.M…
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信   如果你的规划需要创建多个证书,那么使用私有CA的方法比较合适,因为只要给所有的客户端都安装了CA的证书,那么以该证书签名过的证书,客户端都是信任的,也就是安装一次就够了 如果你直接用自签名证书,你需要给所有的客户端安装该证书才会被信任,如果你需要第二个证书,则还的挨个给所有的客户端安装证书2才会被信任.       证书类型: x509的证…
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https://apigateway.console.aliyun.com/?spm=5176.doc42740.2.2.Q4z5ws#/cn-hangzhou/apis/list 一.客户端授权和客户端签名密钥 客户端签名密钥:用于服务消费者访问服务网关时,服务消费者表明身份和服务网关验证调用者身份! 客户…
在工作中我们都会遇到有文件需要签名的时候,如果是在身边就直接拿笔来签名了,那么如果没有在身边又是电子文件需要签名的时候应该怎么办呢,这个时候就应该设置一个电子的签名文档,其他的文件电子文件签名很简单,今天就为大家分享一个编辑比较复杂的PDF文件的设置签名的方法,想知道的小伙伴们就一起来看看吧! 操作软件:PDF编辑器   1.在给PDF文件添加签名之前,需要将文件在迅捷PDF编辑器 中打开.打开文件后,选择菜单栏中的文档选项,在文档选项中找到签名与缩写工具.   2.点击签名与缩写工具后,选择工…
https://source.android.google.cn/ http://www.android-doc.com/tools/publishing/app-signing.html Signing Your Applications The Android system requires that all installed applications be digitally signed with a certificate whose private key is held by t…
借助 Symantec Code Signing,在更多平台上将您的代码提供给更多客户,我们总结了5大理由告诉软件开发者在发布自己的软件时一定要购买Symantec 代码签名证书签名即将发布的软件. 1. 可支持更多平台,让您最大限度地提高软件分发量,从而提供您的收入 两大趋势使代码签名比以往更重要: 一是移动和桌面设备个人用户应用程序呈爆炸性增长,二是恶意软件激增.越来越多的软件发行商和移动网络提供商要求提供来自受信任的证书颁发机构 (CA) 的代码签名,否则不接受分发的代码.Symantec…
  TF签名作为目前最稳定的签名方式收到了业界开发者们的认可,而在如今鱼龙混杂的签名平台中,应该如何选择客厅的TF签名平台呢?下面就一起来看看TF签名为什么这么稳定?TF签名找微导流!   TF签名的稳定性已经是众所周知的事情了,那么为什么TF签名这么稳定?   TF签名为什么稳定   TF签名也就是testflight上架,testflight是iOS的官方内测渠道,所谓的TF签名就是使用testflight平台进行app上架,上架成功后可以直接下载安装,在iOS系统中进行使用.下载安装安装后…
很多开发者在App无法上架Appstore,需要内测或者开放给苹果用户使用的时候,需要选择企业签名来帮助自己的App开放下载链接,给苹果用户使用.苹果企业签名的类型有很多,TF签名最近又很火爆,那么企业签名和TF签名我们应该怎么选呢? 我们首先来分析一下企业签名和TF签名的优缺点吧. ​ 企业签名的优点很明显,就是不需要苹果账号.也不需要苹果审核,同时,通过企业签名的方式上架的App没有下载数量上的限制.缺点就是稳定性很难说,有可能会掉签.如果不是在微导流这种靠谱的平台进行企业签名的话,个人企业…
最近编译经常偶尔出现标题这个错误,有时重启电脑,就正常了,有时重启也不行,真蛋疼,后来发现把dll预先拷贝到生成目录,也可以避免这个编译错误,但是实在是麻烦,再去Google了半天,终于找到了解决方案: 右击报错的项目=〉属性=〉发布=〉把这个dll的发布状态由“包括(自动)”改成“包括”问题解决…
在读取RedisSessionStateProvider配置 提到用mono ceil 来修改程序集以及它的签名,里面GetPublicKey 和GetPubliKeyToken 方法里面那个字符串的获取 以及后来的签名 我们都应该 用code来实现,还有应用该dll文件的签名也一同需要修改. 所以我这里实现了一个简单的helper方法 如下: namespace ConsoleSession { using Mono.Cecil; using System; using System.IO;…
sn.exe 和ilasm.exe 是系统自带程序.如果显示无此命令,可以从“我的电脑”直接搜索. 将dll文件放入目录下,用VS开发人员命令执行以下命令即可.(以Interop.Scripting.dll为例) 1.创建一个新的随机密钥对: sn -k Interop.Scripting.snk 2.反编译目标程序集 ildasm Interop.Scripting.dll /out=Interop.Scripting.il 3.重新编译,附带强命名参数 ilasm Interop.Scrip…