至哥们儿的疑惑!

既然你诚心诚意的发问了,我就来大发慈悲的告诉你,我是穿梭在网上的——雷锋!^_^

人们似乎总是怀旧的。于是才有“好汉不提当年勇”的说法。然则,并非每个人都有那般惊天动地的经历,绝大多数人,都是平凡地生活着。但他们,也在怀旧。比如,现在很多人怀念八十年代。因为那时,中国人开始了不同的生活。从买东西要票中走过来的人,发现万元户已然成为鼓励的对象,思想上的冲击,是难以言表的。而咱八〇后,虽然在整个八〇年代还只是小孩,然各种各样的记忆,仍印在心里——这些场景,这些物件,总有一款适合你——经历过的,算怀旧,生得晚的,也可以看稀奇。

56283088_1

 

你用过郁美净儿童霜,但一次见过这么多吗?我还真是第一次见。包装盒上那个小女孩,现在也三四十岁了吧?随便查了下,原来,似乎是姓元,好像是检察官。但并不知真假。大家看看,像不像?

56283088_2

 

 

56283088_3

搪瓷脸盘,那时谁家没几个?还得轻拿轻放,一不小心,就会磕破。白色搪瓷出现放射状的破损,露出里面黑色的铁胎。慢慢就锈穿了。这时,铝牙膏拿便派上了用场,剪下一块,用被单车轮胎的胶水粘到脸盘破损处,照样用。

56283088_4

 

少生优生,幸福一生。世易时移,现在又慢慢放开二胎了。新婚学校,现在谁还要?有几个不从电脑里学成行家啊?

56283088_5

 

泡泡糖,比谁吹得更大。叭,吹破了,嘴巴边上,一条条的胶粘住。还能拿来恶作剧,放同时凳子上之类……还有酸梅粉啊、绿豆冰棒啊……

56283088_6

 

教育要从娃娃抓起。一看那厚厚的眼镜,就知道是人才啊……不过咱见到计算机,至少是一九九七、九八年的事了,毕业后去看小学班主任,在她家里第一次用……

 

56283088_7

谁还记得五讲四美三热爱吗?一个时代有一个时代的口号,但五讲四美,却是不过时的长期任务,只是没有这种旧提法而已。讲文明讲礼貌……任重道远啊。

块元素知其所以然

padding和border影响宽度或者高度时,本文章基本可解决问题

box-sizing:content-box | border-box

默认值content-box

适用于:所有接受widthheight的元素

继承性:无

取值:

content-box:
padding和border不被包含在定义的width和height之内。对象的实际宽度等于设置的width值和border、padding之和,即 ( Element width = width + border + padding )
此属性表现为标准模式下的盒模型。
border-box:
padding和border被包含在定义的width和height之内。对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width )
此属性表现为怪异模式下的盒模型。

示例:

  • content-box:

    .test1{ box-sizing:content-box; width:200px; padding:10px; border:15px solid #eee; }content-box

  • border-box:

    .test2{ box-sizing:border-box; width:200px; padding:10px; border:15px solid #eee; }border-box

<转>apache搭建本地https

apache搭建本地https

转自简书  http://www.jianshu.com/p/aa7f009a5364

直接开始吧!https、openssl、apache相关的东西,不知道的自行百度吧。
第一步修改apache的配置文件:
  • 修改httpd.conf文件
    目录:/etc/apache2/httpd.conf
    修改参数:
    1.LoadModule ssl_module libexec/apache2/mod_ssl.so
    2.Include /etc/apache2/extra/httpd-ssl.conf
    3.Include /etc/apache2/extra/httpd-vhosts.conf
    修改方式:将上述三条前的#去掉开启
  • 修改httpd-ssl.conf文件
    目录:/etc/apache2/extra/httpd-ssl.conf
    1.SSLCertificateFile “/etc/apache2/ssl/server.crt”
    2.SSLCertificateKeyFile “/etc/apache2/ssl/server.key”
    3.SSLCertificateChainFile “/private/etc/apache2/server-ca.crt”
    修改方式:将上述三条前的#去掉开启
  • 编辑httpd-vhosts.conf文件

    屏幕快照 2016-08-30 下午4.21.14.png
相关属性和路径的解释:
httpd.conf:

LoadModule ssl_module libexec/apache2/mod_ssl.so(告诉apache支持ssl)
Include /etc/apache2/extra/httpd-ssl.conf(ssl配置文件)
Include /etc/apache2/extra/httpd-vhosts.conf(虚拟主机配置文件)

httpd-ssl.conf:

SSLCertificateFile “/etc/apache2/ssl/server.crt”(服务端证书的目录)
SSLCertificateKeyFile “/etc/apache2/ssl/server.key”(服务端私钥的目录)
SSLCertificateChainFile “/private/etc/apache2/server-ca.crt”(钥匙链的目录)

httpd-vhosts.conf:

DocumentRoot(默认访问的文件夹路径)
ServerName(域名)
SSLEngine on(打开ssl引擎)
SSLCipherSuite(支持的加密算法)

第二步修改openssl.cnf文件:

目录:/usr/local/etc/openssl/openssl.cnf
1.[ CA_default ]部分dir目录(修改成自己想修改的任何一个目录或者不修改)
2.(前提需要添加别名等扩展信息,别名为例)[ v3_ca ]部分subjectAltName打开(设置为@alt_names[名字随意])
3.(前提需要添加别名等扩展信息,别名为例)[ usr_cert ]部分subjectAltName打开(设置为@alt_names[名字随意])
4.添加[ alt_names ]
IP.1 = 192.168.2.20
5.其他信息根据实际需求更改

第三步生成证书文件:

这里所有的操作都在[ CA_default ]部分dir目录下进行。

准备工作:

1.touch index.txt
2.touch index.txt.attr
3.echo 01 > serial
4.mkdir newcerts
5.mkdir keys

生成根证书:

私钥:openssl genrsa -des3 -out keys/rootca.key 2048
根证书:openssl req -new -x509 -days 3650 -key keys/rootca.key -out keys/rootca.crt

生成二级根证书:

私钥:openssl genrsa -des3 -out keys/secondca.key 2048
去密码:openssl rsa -in keys/secondca.key -out keys/secondCA.key
请求文件:openssl req -new -days 3650 -key keys/secondca.key -out keys/secondca.csr
根证书签名:openssl ca -extensions v3_ca -in keys/secondca.csr -config /usr/local/etc/openssl/openssl.cnf -days 3650 -out keys/secondca.crt -cert keys/rootca.crt -keyfile keys/rootca.key

生成服务端证书:

私钥:openssl genrsa -des3 -out keys/server.key 2048
去密码:openssl rsa -in keys/server.key -out keys/server.key
请求文件:openssl req -new -days 3650 -key keys/server.key -out keys/server.csr
签名:openssl ca -in keys/server.csr -config /usr/local/etc/openssl/openssl.cnf -days 3650 -out keys/server.crt -cert keys/secondca.crt -keyfile keys/secondca.key

生成钥匙链:

钥匙链:cat keys/rootca.crt keys/secondca.crt > chain.crt

第四步生成证书时需要注意的问题

1.countryName、stateOrProvinceName、organizationName生成证书的时候必须保持一致。
2.如果签名的时候发生错误修改openssl.cnf文件下的default_md属性为sha256(sha256为通用的签名算法)
3.Common Name尽量保持不一致,服务端证书生成的时候Common Name为域名
4.如果遇到其他的问题可以留言

第五步将生成的文件对应到配置文件的目录下启动apache

启动apache:sudo apachectl restart
在浏览器中访问:

屏幕快照 2016-08-30 下午5.16.07.png

继续:

屏幕快照 2016-08-30 下午5.21.36.png
第六步客户端的验证(只说AFNetworking)

提示:如果没有使用afn需遵循NSURLSessionTaskDelegate代理,在代理方法里验证即可。
1.在钥匙串中导出根证书的cer文件导入工程
2.关键代码:

AFSecurityPolicy securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
securityPolicy.allowInvalidCertificates = YES;
manager.securityPolicy = securityPolicy;

3.验证结果

结束语

在这里浪费了一些时间,很多原因是因为网上有些博客写的不是很明了或者已经很老了,因此走了一些弯路。所以写出来这篇博客介绍的不算很详尽,但是关键的点都已经写了出来。希望能够帮助到你们。