﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-剑父的技术之路-随笔分类-OPEN SSL</title><link>http://www.cppblog.com/huangjianfu/category/9075.html</link><description>网络信息安全</description><language>zh-cn</language><lastBuildDate>Wed, 10 Dec 2008 08:39:04 GMT</lastBuildDate><pubDate>Wed, 10 Dec 2008 08:39:04 GMT</pubDate><ttl>60</ttl><item><title>ASN1_STRING的转换及显示</title><link>http://www.cppblog.com/huangjianfu/archive/2008/12/10/69025.html</link><dc:creator>黄剑父</dc:creator><author>黄剑父</author><pubDate>Wed, 10 Dec 2008 02:25:00 GMT</pubDate><guid>http://www.cppblog.com/huangjianfu/archive/2008/12/10/69025.html</guid><wfw:comment>http://www.cppblog.com/huangjianfu/comments/69025.html</wfw:comment><comments>http://www.cppblog.com/huangjianfu/archive/2008/12/10/69025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/huangjianfu/comments/commentRss/69025.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/huangjianfu/services/trackbacks/69025.html</trackback:ping><description><![CDATA[<p>&nbsp;//获取证书主题信息<br>&nbsp;subject = X509_get_subject_name(cert);</p>
<p>&nbsp;//获得证书主题信息条目个数<br>&nbsp;entriesNum = sk_X509_NAME_ENTRY_num(subject-&gt;entries);<br>&nbsp;//X509_NAME_print_ex(biosubject, subject, 0, ASN1_STRFLGS_ESC_MSB);<br>&nbsp;//BIO_read(biosubject,msginfo,msginfoLen);<br>&nbsp;//循环读取个条目信息<br>&nbsp;for(i=0;i&lt;entriesNum;i++)<br>&nbsp;{<br>&nbsp;&nbsp;//获取第I个条目值<br>&nbsp;&nbsp;name_entry = sk_X509_NAME_ENTRY_value(subject-&gt;entries,i);<br>&nbsp;&nbsp;Nid = OBJ_obj2nid(name_entry-&gt;object);<br>&nbsp;&nbsp;out=NULL;<br>&nbsp;&nbsp;if((len = ASN1_STRING_to_UTF8(&amp;out,name_entry-&gt;value))&lt;0)<br>&nbsp;&nbsp;&nbsp;continue;</p>
<p>&nbsp;&nbsp;nUtf8 = 2*len;<br>&nbsp;&nbsp;pUtf8 = (unsigned short *)malloc(nUtf8);<br>&nbsp;&nbsp;memset(pUtf8,0,nUtf8);<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;rv = MultiByteToWideChar(<br>&nbsp;&nbsp;&nbsp;CP_UTF8,<br>&nbsp;&nbsp;&nbsp;0, <br>&nbsp;&nbsp;&nbsp;(char*)out, <br>&nbsp;&nbsp;&nbsp;len, <br>&nbsp;&nbsp;&nbsp;pUtf8, <br>&nbsp;&nbsp;&nbsp;nUtf8);<br>&nbsp;&nbsp;rv = WideCharToMultiByte(<br>&nbsp;&nbsp;&nbsp;CP_ACP, <br>&nbsp;&nbsp;&nbsp;0, <br>&nbsp;&nbsp;&nbsp;pUtf8, <br>&nbsp;&nbsp;&nbsp;rv, <br>&nbsp;&nbsp;&nbsp;(char*)msginfo, <br>&nbsp;&nbsp;&nbsp;nUtf8, <br>&nbsp;&nbsp;&nbsp;NULL, <br>&nbsp;&nbsp;&nbsp;NULL);<br>&nbsp;&nbsp;free(pUtf8);<br>&nbsp;&nbsp;OPENSSL_free(out);<br>&nbsp;&nbsp;pUtf8 = NULL;<br>&nbsp;&nbsp;msginfoLen = rv;<br>&nbsp;&nbsp;msginfo[msginfoLen]='\0';<br>&nbsp;&nbsp;switch(Nid) <br>&nbsp;&nbsp;{<br>&nbsp;&nbsp;case NID_countryName://国家<br>&nbsp;&nbsp;&nbsp;printf("subject 's countryName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case NID_stateOrProvinceName://省<br>&nbsp;&nbsp;&nbsp;printf("subject 's ProvinceName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;case NID_localityName://地区<br>&nbsp;&nbsp;&nbsp;printf("subject 's localityName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case NID_organizationName://组织<br>&nbsp;&nbsp;&nbsp;printf("subject 's organizationName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case NID_organizationalUnitName://单位<br>&nbsp;&nbsp;&nbsp;printf("subject 's organizationalUnitName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case NID_commonName://通用名<br>&nbsp;&nbsp;&nbsp;printf("subject 's commonName:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case NID_pkcs9_emailAddress://Mail<br>&nbsp;&nbsp;&nbsp;printf("subject 's emailAddress:%s\n",msginfo);<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;}//end switch<br>&nbsp;}</p>
<p>&nbsp;</p>
<img src ="http://www.cppblog.com/huangjianfu/aggbug/69025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/huangjianfu/" target="_blank">黄剑父</a> 2008-12-10 10:25 <a href="http://www.cppblog.com/huangjianfu/archive/2008/12/10/69025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>