Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: chrome/common/net/x509_certificate_model_openssl.cc

Issue 288053003: x509_certificate_model_openssl: implement GetCertNameOrNickname, GetTitle (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/common/net/x509_certificate_model_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/net/x509_certificate_model.h" 5 #include "chrome/common/net/x509_certificate_model.h"
6 6
7 #include <openssl/obj_mac.h> 7 #include <openssl/obj_mac.h>
8 #include <openssl/sha.h> 8 #include <openssl/sha.h>
9 #include <openssl/x509v3.h> 9 #include <openssl/x509v3.h>
10 10
(...skipping 26 matching lines...) Expand all
37 return ret; 37 return ret;
38 } 38 }
39 39
40 } // namespace 40 } // namespace
41 41
42 namespace x509_certificate_model { 42 namespace x509_certificate_model {
43 43
44 using net::X509Certificate; 44 using net::X509Certificate;
45 45
46 std::string GetCertNameOrNickname(X509Certificate::OSCertHandle cert_handle) { 46 std::string GetCertNameOrNickname(X509Certificate::OSCertHandle cert_handle) {
47 // TODO(bulach): implement me. 47 std::string name =
48 return ""; 48 ProcessIDN(GetSubjectCommonName(cert_handle, std::string()));
49 if (!name.empty())
50 return name;
51
52 char buf[256];
53 if (X509_NAME_oneline(X509_get_subject_name(cert_handle), buf, sizeof(buf)))
Ryan Sleevi 2014/05/15 05:53:05 1) X509_NAME_online is deprecated and has been for
mattm 2014/05/20 06:29:32 Done.
54 return buf;
55
56 return std::string();
49 } 57 }
50 58
51 std::string GetTokenName(X509Certificate::OSCertHandle cert_handle) { 59 std::string GetTokenName(X509Certificate::OSCertHandle cert_handle) {
52 // TODO(bulach): implement me. 60 // TODO(bulach): implement me.
53 return ""; 61 return "";
54 } 62 }
55 63
56 std::string GetVersion(net::X509Certificate::OSCertHandle cert_handle) { 64 std::string GetVersion(net::X509Certificate::OSCertHandle cert_handle) {
57 unsigned long version = X509_get_version(cert_handle); 65 unsigned long version = X509_get_version(cert_handle);
58 if (version != ULONG_MAX) 66 if (version != ULONG_MAX)
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 return AlternativeWhenEmpty(ret, alternative_text); 141 return AlternativeWhenEmpty(ret, alternative_text);
134 } 142 }
135 143
136 bool GetTimes(X509Certificate::OSCertHandle cert_handle, 144 bool GetTimes(X509Certificate::OSCertHandle cert_handle,
137 base::Time* issued, base::Time* expires) { 145 base::Time* issued, base::Time* expires) {
138 return x509_util::ParseDate(X509_get_notBefore(cert_handle), issued) && 146 return x509_util::ParseDate(X509_get_notBefore(cert_handle), issued) &&
139 x509_util::ParseDate(X509_get_notAfter(cert_handle), expires); 147 x509_util::ParseDate(X509_get_notAfter(cert_handle), expires);
140 } 148 }
141 149
142 std::string GetTitle(net::X509Certificate::OSCertHandle cert_handle) { 150 std::string GetTitle(net::X509Certificate::OSCertHandle cert_handle) {
143 // TODO(bulach): implement me. 151 // TODO(mattm): merge GetTitle and GetCertNameOrNickname?
144 return ""; 152 // Is there any reason GetCertNameOrNickname calls ProcessIDN and this
153 // doesn't?
154 std::string title =
155 GetSubjectCommonName(cert_handle, std::string());
156 if (!title.empty())
157 return title;
158
159 char buf[256];
160 if (X509_NAME_oneline(X509_get_subject_name(cert_handle), buf, sizeof(buf)))
161 return buf;
162
163 return std::string();
145 } 164 }
146 165
147 std::string GetIssuerName(net::X509Certificate::OSCertHandle cert_handle) { 166 std::string GetIssuerName(net::X509Certificate::OSCertHandle cert_handle) {
148 return GetKeyValuesFromName(X509_get_issuer_name(cert_handle)); 167 return GetKeyValuesFromName(X509_get_issuer_name(cert_handle));
149 } 168 }
150 169
151 std::string GetSubjectName(net::X509Certificate::OSCertHandle cert_handle) { 170 std::string GetSubjectName(net::X509Certificate::OSCertHandle cert_handle) {
152 return GetKeyValuesFromName(X509_get_subject_name(cert_handle)); 171 return GetKeyValuesFromName(X509_get_subject_name(cert_handle));
153 } 172 }
154 173
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 return ""; 245 return "";
227 } 246 }
228 247
229 std::string ProcessRawBitsSignatureWrap( 248 std::string ProcessRawBitsSignatureWrap(
230 net::X509Certificate::OSCertHandle cert_handle) { 249 net::X509Certificate::OSCertHandle cert_handle) {
231 // TODO(bulach): implement me. 250 // TODO(bulach): implement me.
232 return ""; 251 return "";
233 } 252 }
234 253
235 } // namespace x509_certificate_model 254 } // namespace x509_certificate_model
OLDNEW
« no previous file with comments | « no previous file | chrome/common/net/x509_certificate_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698