OpenSSL

PLACEHOLDER

  1. OpenSSL 基本配置
  2. 生成自签名CA证书及密钥
  3. 为域名生成CSR及密钥 – dev.ymeng.net
  4. 用CA的私钥为dev.ymeng.net签名,生成用户证书
  5. 转换证书为pkcs12格式
  6. 查看pkcs12证书
  7. 使用openssl验证SSL双向认证
  8. 根据已有的证书和私钥生成CSR

1. OpenSSL基本配置  TOP

dir = /etc/apache2/ssl-cert/ca
 
[ req ]
default_bits = 2048 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req 
 
[ req_distinguished_name ]
# Variable name   Prompt string
#----------------------   ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64 
 
# Default values for the above, for consistency and less typing.
# Variable name   Value
#------------------------------   ------------------------------
0.organizationName_default = Company Technologies Co., Ltd.
organizationalUnitName_default = Development Dept.
emailAddress_default = ca@company.com
localityName_default = Helsinki
# stateOrProvinceName_default =
countryName_default = FI
 
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always 
 
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash 
 
[ ca ]
default_ca = CA_default 
 
[ CA_default ]
serial = $dir/serial
database = $dir/index.txt
new_certs_dir = $dir/newcerts
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 365
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match 
 
[ policy_match ]
countryName = match
stateOrProvinceName = optional
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional

2. 生成自签名CA证书及密钥  TOP

openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 3650 -config ./openssl.conf

查看证书:

openssl x509 -in cacert.pem -noout -text

3. 为域名生成CSR及密钥 – dev.ymeng.net  TOP

openssl req -new -nodes -out dev.ymeng.net-csr.pem -keyout private/dev.ymeng.net-key.pem -config ./openssl.conf

查看CSR:

openssl req -in dev.ymeng.net-csr.pem -text -verify -noout

4. 用CA的私钥为dev.ymeng.net签名,生成用户证书  TOP

openssl ca -out dev.ymeng.net-cert.pem -config ./openssl.conf -infiles dev.ymeng.net-csr.pem

签名用到的CA密钥在配置文件中指定 [ CA_default ]

5. 转换证书为pkcs12格式  TOP

openssl pkcs12 -export -in dev.ymeng.net-cert.pem -out dev.ymeng.net-cert.p12 -inkey private/dev.ymeng.net-key.pem

6. 查看pkcs12证书  TOP

openssl pkcs12 -info -in keyStore.p12

7. 使用openssl验证SSL双向认证  TOP

openssl s_client -connect testgw.girogate.de:443 -cert customer.crt -key customer.key -CAfile ca.crt

8. 根据已有的证书和私钥生成CSR  TOP

openssl x509 -x509toreq -in certificate.crt -out certificate-request.csr -signkey private-key.key

WireframeSketcher – a UI design plugin for Eclipse

今天又发现了一个UI设计工具--WireframeSketcher,和上一个工具差不多,用来进入界面草图设计,不过WireframeSketcher是一个Eclipse插件,如果开发环境是基于Eclipse,可能会方便很多。

不过也有一些问题,比如没有MenuItem,没有快速搜索Component的功能,在Component列表中不支持滚动。

对于License,也可以通过blog推广的方式来获取,试一下 😀

网站:http://wireframesketcher.com/index.html

Mockups For Desktop

今天在网上发现一个不错的工具,Mockups For Desktop,一款基于Adobe AIR的程序,使用它可以非常快捷地设计出程序界面。

Mockups For Desktop提供了很多“控件”进行选择,Button, Checkbox, Dialog Windows等等,直接拖到设计区域就可以,效果看起来像“手绘”的草图,感觉相当不错。

下面是偶画的一个程序界面:

程序没有右键菜单,感觉挺奇怪的,而且似乎不支持中文字符输入。
售价$79,不过可以通过Blog推广等方式来免费获取注册码。未注册版本还不能保存设计稿,这点相当不爽。

================
2月9日更新:
昨晚发布了日志后,马上给作者发了邮件,告知已经在Blog上进行推广,另外还有右键菜单建议和中文问题,今天就收到了作者的回复,他们会在以后的版本中增加右键功能菜单;如果需要输入中文,则可以在View菜单下,选中Use System Fonts,即可支持中文输入。

使用作者提供的注册码激活后,就可以保存文件了,格式为BMML,其实是一个XML格式的文件。

下载 Mockups For Desktop

Eclipse Ganymede下Subclipse插件的安装

Eclipse Ganymede (Eclipse 3.4)版本出来很久了,一直没有在这个版本上搞定离线安装subclipse插件,不论是link,还是copy到dropins目录,却无法识别插件,今天在Mac上捣鼓时无意间问了Roy一句,他说3.4版本下的插件似乎不能有site.xml文件,否则好象会被认为在线安装。我随手删除掉site.xml,重新启动eclipse,居然装好了 😀