优秀的VeriSign和混蛋的GlobalSign
由于领导不懂行,直接购买了GlobalSign的证书,结果引起了我这个开发人员痛苦的2星期之旅,说说大体情况:
目的:对买来的一个驱动程序进行签名,使之能够在Win x64情况下安装和使用
下载Windows Kits后安装,得到signtool.exe工具,用它进行签名。
公司名很快签上了,但是时间戳死活签不上,一运行就signtool就崩溃。可是
https://support.globalsign.com/customer/en/portal/articles/1491089
signtool sign /ac MSCrossCert.crt /f CodeSign.pfx /p password1234 /tr http://timestamp.globalsign.com/scripts/timestamp.dll filter.sys
文档上的例子明明写了一个例子啊,为啥我就死活运行不了呢?
一开始还以为timestamp.dll写错了,应该是timstamp.dll(少了一个e,网上搜索出来的结果都是少e的),还是不行。
最后不得不求助GlobalSign的售后,足足报告了5组测试命令与运行过程的全部情况。结果混蛋的GlobalSign售后看都不看内容,直接发给我已经看过一万遍的两个连接(其中第二个链接还是针对过时的驱动):
https://support.globalsign.com/customer/en/portal/articles/1491089
https://support.globalsign.com/customer/portal/articles/1217485
这样来来回回,整整13封邮件,问题还是没有得到解决。最后还是我发现了一件事情,他们给我的证书是不符合 RFC 3161的,所以必须用/t参数,而不是/tr。同时timestamp.dll拼写带e还是不带e,都是正确的,可是没人告诉我这件事情啊,让我疑惑了很久。
时间戳有了,signtool verify /v /kp 也显示正确无误,可是我的驱动还是无法使用,一调用就崩溃,一点有用的提示信息都没有,郁闷啊。。。因为无法判断出错原因,反反复复测试自己调用驱动的代码,试了一遍又一遍,实在是觉得自己的代码没问题,而确实是驱动本身的问题。
没办法,不能让驱动本身耽误开发,先开发业务流程吧。于是启动windows,按F8,进入“不检查签名”模式。
几天后,一切功能都开发完毕了,在“不检查签名模式”下运行良好,于是回到驱动签名的问题。
Windows正常启动模式下,死活还是无法安装驱动啊,更别提我调用的那些功能。
我还把自己的证书、密码、要签名的驱动、我签过名的驱动,全部发给了GlobalSign,要求他们帮我检查比较一下,问题到底出在哪里,可是他们看都不看(后来研究的结果表明,就是这个证书不能用来签名驱动,就这么简单的结果都不愿帮我试一下)。。。这服务,绝对差评。
无奈啊,只能在QQ群里求助,因为QQ群是全国范围的嘛,相关的高手应该都在里面了嘛。至于论坛,虽然也可提问,但是实时性太差,还要注册论坛什么的,放弃。
最后还是在一位VeriSign的朋友热心帮助下解决了问题,当场使用各种签名工具帮我实时测试,很快就有了结果。然后重新向GlobalSign申请内核证书,问题全部搞定。而且据这位VeriSign的朋友说,他们的证书不区分应用级别和内核级别,换而言之,直接就可对驱动签名。
这里是VeriSign的价格:
http://verisign.ert7.com/quotation.html
另外证书小白们,想节省时间精力、减少郁闷、加快项目开发,可联系我上面提到的两位VeriSign的朋友(QQ6220414和QQ1125803355)。
天地良心,我不是他们的托,他们也至今没有收取我一分钱(没一年之内必要买2份证书嘛!)。不过这态度和“售后”真没是没的说,明年一定买他们家的证书!
优秀的VeriSign和混蛋的GlobalSign的更多相关文章
- Linux 中优秀的文本化编辑思想大碰撞(Markdown、LaTeX、MathJax)
这样一个标题可能不太准确,因为确实无法准确地解释什么叫"文本化编辑思想".其实我这篇随笔主要是想探讨 Markdown.LaTeX.MathJax,有兴趣的朋友可以继续往下看,同时 ...
- 基于 SailingEase WinForm Framework 开发优秀的客户端应用程序(目录)
本系统文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以 SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...
- 国内优秀的Android资源
因为一些大家都知道的原因,Android很多官方出品的优秀开发资源在国内无法访问. 国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供 ...
- [转]别再抱怨了,国内这么多优秀的Android资源你都知道吗?
因为一些大家都知道的原因,android很多官方出品的优秀开发资源在国内无法访问. 国内的同行们对此也做出了很多努力,有很多朋友通过各种手段把很多优秀的资源搬运到了国内,为国内android开发者提供 ...
- ******IT公司面试题汇总+优秀技术博客汇总
滴滴面试题:滴滴打车数据库如何拆分 前端时间去滴滴面试,有一道题目是这样的,滴滴每天有100万的订单,如果让你去设计数据库,你会怎么去设计? 当时我的想法是根据用户id的最后一位对某个特殊的值取%操作 ...
- CSDN:你认为一名优秀的技术人应该具备怎样的素质?
CSDN:你认为一名优秀的技术人应该具备怎样的素质? 王晶昱:我个人认为,符合这个世界要求的就是优秀的.在目前这个时代,我认为一个优秀的技术人员的特质可能是: 兴趣驱动,兴趣是最好的老师,写程序本身就 ...
- 优秀网站看前端 —— 小米Note介绍页面
刚开始经营博客的时候,我写过不少“扒皮”系列的文章,主要介绍一些知名站点上有趣的交互效果,然后试着实现它们.后来开始把注意力挪到一些新颖的前端技术上,“扒皮”系列便因此封笔多时.今天打算重开“扒皮”的 ...
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- [转] Android优秀开源项目
Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习.今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助.另外, ...
随机推荐
- kindle paperwhite 使用说明
calibre,eink必备转换软件. easypub,lucida制作的软件,支持txt to epub:txt to mobi,可以实现目录. 售后电话:400 817 0100 正常的设计格式转 ...
- android学习之4种点击事件的响应方式
如题,下面就一一列出对点击事件响应的4种方式: 第一种:内部类的形式: package com.example.dail; import android.net.Uri; import android ...
- Andrdoid中相应用程序的行为拦截实现方式之----从Java层进行拦截
致谢: 感谢 简行之旅的这篇blog:http://blog.csdn.net/l173864930/article/details/38455951,这篇文章是參考这篇blog的进行一步一步操作的, ...
- 机器学习笔记——K-means
K-means是一种聚类算法,其要求用户设定聚类个数k作为输入參数,因此,在执行此算法前,须要预计须要的簇的个数. 如果有n个点,须要聚到k个簇中.K-means算法首先从包括k个中心点的初始集合開始 ...
- setWillNotDraw和setFillViewport
Romain Guy write a little info about a ScrollView attribute that is missing from documentation : An ...
- QTimerLine类学习
QTimeLine类提供了控制动画的时间轴. 类型:enum CurveShape{EaseInCurve,EaseOutCurve,EaseInOutCurve,LinearCurve,Sine ...
- mysql中如何更新一个字段的值为它本身的值连接上一个字符串
CONCAT(str1,str2,...) 返回结果为连接参数产生的字符串. 如有任何一个参数为NULL ,则返回值为 NULL. 或许有一个或多个参数. 如果所有参数均为非二进制字符串,则结 ...
- 10 Questions To Make Programming Interviews Less Expensive--reference
Conducting Interview is not cheap and costs both time and money to a company. It take a lot of time ...
- 判断直线与线段相交 POJ 3304 Segments
题意:在二维平面中,给定一些线段,然后判断在某直线上的投影是否有公共点. 转化,既然是投影,那么就是求是否存在一条直线L和所有的线段都相交. 证明: 下面给出具体的分析:先考虑一个特殊的情况,即n=1 ...
- 【转】解决警告 warning: directory not found for option
转:http://blog.sina.com.cn/s/blog_6f72ff900101es6x.html 解决方法: 选择项目名称----->Targets----->Build Se ...