首页

实战经验:为本地服务器创建自签名证书链

有时需要生成一张自签名证书用于本地Web服务器来实现HTTPS。 一,以下为创建自签名证书的基本步骤: 1) 创建根证书 创建根证书需要的RSA私钥: openssl genrsa -aes256 -out ca.key.pem 4096 根据RSA私钥创建根证书: openssl req -config openssl_ca.cnf -key ca.key.pem -new -x509 -day...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:07月29日 |
  • 浏览:1062 |
  • 评论已关闭 条评论

小技巧:解决VS2010因为”将来时间”而无法增量编译的问题  

今天是2017年7月29日,因为某些原因,我修改了系统时间到将来的一天,2017年7月30日。修改完系统时间,继续工作。 当把时间改回去后,VS2010的增量编译不能顺利进行了。每次项目编译,不管有没有改动过源代码,VS2010都会对项目进行编译,并出现“All outputs are up-to-date”提示。 这个问题对于大型项目来说,是一件比较耗费时间的事情。看起来,修改系统时间会导致VS...
  • 阅读全文 |
  • 分类:小技巧 |
  • 发表于:07月29日 |
  • 浏览:1281 |
  • 评论已关闭 条评论

小技巧:优化HTTPS站点配置

通常,我们在部署HTTPS站点后,可以通过网站上专门的测试工具来检测站点的配置是否已经最优。有如下两个站点可供使用: 1) SSLLabs 2) MySSL 以下为需要注意的几个优化点: 1) 禁用SSL 3.0 目的:防范POODLE漏洞:Padding Oracle On Downgraded Legacy Encryption 该漏洞影响曾经广为使用的SSL 3.0加密标准。攻击者可以利用该...

错误信息:The ACME server was probably unable to reach  

在使用Let’s Encrypt在IIS上安装SSL证书时,Let’s Encrypt会首先尝试对IIS站点进行有效性验证。其基本过程为: 1) 接收用户输入的主机名,如www.test.com 2) 接收用户输入的站点根目录的全路径,如c:\wwwroot 3) 尝试在站点根目录下创建.well-known目录并在该目录生成一个文件,文件内容为一串随机字符串,Let...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:07月22日 |
  • 浏览:2021 |
  • 评论已关闭 条评论

小技巧:VS2010中添加控件成员变量没有反应的问题  

今日发现奇怪的问题: 1) 系统中有一个已经使用多时的对话框,在对话框上添加一个按钮。 2) 在按钮上右键,选择”添加成员变量”。 3) 通常情况下,VS2010会弹出如下所示的对话框用于输入成员变量的信息。 但是,今天并没有。 新建一个对话框,并重复上述步骤,没有出现此问题。于是,对出现问题的对话框和正常情况的对话框进行全方位对比,发现 1) 两者对应的类的头文件和...
  • 阅读全文 |
  • 分类:小技巧 |
  • 发表于:07月19日 |
  • 浏览:1858 |
  • 评论已关闭 条评论

小技巧:借助boost库实现Windows自定义消息的自动化定义

在开发Windows桌面程序,经常会碰到需要使用自定义消息来实现某种功能。通常我们会这样定义一个Windows消息: #define WM_CUSTOM_JOB_DONE (WM_APP + 100) 这里,我们定义了一个自定义消息WM_CUSTOM_JOB_DONE,该消息用于通知指定的窗口工作已经完成。 有朋友可能会问了,为什么不是使用WM_USER呢? 我们先来看看WM_USER和W...

实战经验:使用WinINet库访问HTTP代理服务器

在用户使用桌面软件的时候,开发者可能会面临各种各样的网络环境。比如,用户可能在家中使用宽带直连到互联网,也可能用户在公司办公,公司因网络安全需要不直接开放外网权限,而是提供HTTP代理的方式为员工提供上网服务。 在MFC中,如何向和一台FTP或者HTTP服务器打交道,常用的库是WinINet库。该库提供了提供了一组高层API来封装底层通信协议,如FTP, HTTP等。下面就讲一讲如何使用WinIN...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:07月11日 |
  • 浏览:1030 |
  • 评论已关闭 条评论

实战经验:Linux Source NAT在Ping场景下的应用

有时候,有这样的一种需求: 需要修改IP数据包中的源地址,比如,从某一个主机发送Ping包到另一个主机,需要修改源地址为另一个源(通常,发出Ping请求的主机有多个网卡地址)。 为了解决这一需求,Linux下的netfilter组件中有个Source NAT的功能,可以修改IP数据包中的源地址。 此功能实际上是通过iptables在POSTROUTING链中添加一条规则,此规则在数据包被最终发送出...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:06月28日 |
  • 浏览:1030 |
  • 评论已关闭 条评论

深度理解:VMware中Bridge和NAT的使用方法及注意事项

在做网络实验时,为了避免对本地系统的破坏,一般会考虑在虚拟机中进行。今天来介绍一下VMware这款虚拟机中关于网络设置方面的内容。 VMware创建虚拟机后,需要为虚拟机指定网络连接模式,在实际工作中,我使用Bridge和NAT模式比较多,以下是这两种模式下的使用方法及注意事项。 1) Bridge模式 使用方法: 当选择网络模式为Bridge模式时,虚拟机相当于直接连接到宿主机所在的网络,如果宿...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:06月27日 |
  • 浏览:1566 |
  • 评论已关闭 条评论

代码片段:Crypto++使用方法汇总

今天来说简单汇总一下著名C++编解码库Crypto++的使用方法,以下仅列出代码片段,详细的API解释请大家参考在Crypto++官网文档。 基本上这个库的调用方式比较少见,但是学会了其中一种,其他的算法函数也是可以融会贯通的。 1) AES加密: string m_buf; CryptoPP::AES::Encryption aes_encryption(m_key, CryptoPP::...
  • 阅读全文 |
  • 分类:技术 |
  • 发表于:06月26日 |
  • 浏览:3557 |
  • 评论已关闭 条评论