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

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

Issue 948543002: Convert crypto::ScopedOpenSSL to type aliases. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « no previous file | content/child/webcrypto/openssl/aes_cbc_openssl.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/stack.h> 9 #include <openssl/stack.h>
10 #include <openssl/x509.h> 10 #include <openssl/x509.h>
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
458 static const MaskIdPair usage_string_map[] = { 458 static const MaskIdPair usage_string_map[] = {
459 {NS_SSL_CLIENT, IDS_CERT_USAGE_SSL_CLIENT}, 459 {NS_SSL_CLIENT, IDS_CERT_USAGE_SSL_CLIENT},
460 {NS_SSL_SERVER, IDS_CERT_USAGE_SSL_SERVER}, 460 {NS_SSL_SERVER, IDS_CERT_USAGE_SSL_SERVER},
461 {NS_SMIME, IDS_CERT_EXT_NS_CERT_TYPE_EMAIL}, 461 {NS_SMIME, IDS_CERT_EXT_NS_CERT_TYPE_EMAIL},
462 {NS_OBJSIGN, IDS_CERT_USAGE_OBJECT_SIGNER}, 462 {NS_OBJSIGN, IDS_CERT_USAGE_OBJECT_SIGNER},
463 {NS_SSL_CA, IDS_CERT_USAGE_SSL_CA}, 463 {NS_SSL_CA, IDS_CERT_USAGE_SSL_CA},
464 {NS_SMIME_CA, IDS_CERT_EXT_NS_CERT_TYPE_EMAIL_CA}, 464 {NS_SMIME_CA, IDS_CERT_EXT_NS_CERT_TYPE_EMAIL_CA},
465 {NS_OBJSIGN_CA, IDS_CERT_USAGE_OBJECT_SIGNER}, 465 {NS_OBJSIGN_CA, IDS_CERT_USAGE_OBJECT_SIGNER},
466 }; 466 };
467 467
468 crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free>::Type value( 468 crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free> value(
469 reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); 469 reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex)));
470 if (!value.get()) 470 if (!value.get())
471 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 471 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
472 return ProcessBitField(value.get(), 472 return ProcessBitField(value.get(),
473 usage_string_map, 473 usage_string_map,
474 arraysize(usage_string_map), 474 arraysize(usage_string_map),
475 '\n'); 475 '\n');
476 } 476 }
477 477
478 std::string ProcessKeyUsageExtension(X509_EXTENSION* ex) { 478 std::string ProcessKeyUsageExtension(X509_EXTENSION* ex) {
479 static const MaskIdPair key_usage_string_map[] = { 479 static const MaskIdPair key_usage_string_map[] = {
480 {KU_DIGITAL_SIGNATURE, IDS_CERT_X509_KEY_USAGE_SIGNING}, 480 {KU_DIGITAL_SIGNATURE, IDS_CERT_X509_KEY_USAGE_SIGNING},
481 {KU_NON_REPUDIATION, IDS_CERT_X509_KEY_USAGE_NONREP}, 481 {KU_NON_REPUDIATION, IDS_CERT_X509_KEY_USAGE_NONREP},
482 {KU_KEY_ENCIPHERMENT, IDS_CERT_X509_KEY_USAGE_ENCIPHERMENT}, 482 {KU_KEY_ENCIPHERMENT, IDS_CERT_X509_KEY_USAGE_ENCIPHERMENT},
483 {KU_DATA_ENCIPHERMENT, IDS_CERT_X509_KEY_USAGE_DATA_ENCIPHERMENT}, 483 {KU_DATA_ENCIPHERMENT, IDS_CERT_X509_KEY_USAGE_DATA_ENCIPHERMENT},
484 {KU_KEY_AGREEMENT, IDS_CERT_X509_KEY_USAGE_KEY_AGREEMENT}, 484 {KU_KEY_AGREEMENT, IDS_CERT_X509_KEY_USAGE_KEY_AGREEMENT},
485 {KU_KEY_CERT_SIGN, IDS_CERT_X509_KEY_USAGE_CERT_SIGNER}, 485 {KU_KEY_CERT_SIGN, IDS_CERT_X509_KEY_USAGE_CERT_SIGNER},
486 {KU_CRL_SIGN, IDS_CERT_X509_KEY_USAGE_CRL_SIGNER}, 486 {KU_CRL_SIGN, IDS_CERT_X509_KEY_USAGE_CRL_SIGNER},
487 {KU_ENCIPHER_ONLY, IDS_CERT_X509_KEY_USAGE_ENCIPHER_ONLY}, 487 {KU_ENCIPHER_ONLY, IDS_CERT_X509_KEY_USAGE_ENCIPHER_ONLY},
488 {KU_DECIPHER_ONLY, IDS_CERT_X509_KEY_USAGE_DECIPHER_ONLY}, 488 {KU_DECIPHER_ONLY, IDS_CERT_X509_KEY_USAGE_DECIPHER_ONLY},
489 }; 489 };
490 490
491 crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free>::Type value( 491 crypto::ScopedOpenSSL<ASN1_BIT_STRING, ASN1_BIT_STRING_free> value(
492 reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex))); 492 reinterpret_cast<ASN1_BIT_STRING*>(X509V3_EXT_d2i(ex)));
493 if (!value.get()) 493 if (!value.get())
494 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 494 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
495 return ProcessBitField(value.get(), 495 return ProcessBitField(value.get(),
496 key_usage_string_map, 496 key_usage_string_map,
497 arraysize(key_usage_string_map), 497 arraysize(key_usage_string_map),
498 '\n'); 498 '\n');
499 } 499 }
500 500
501 std::string ProcessBasicConstraints(X509_EXTENSION* ex) { 501 std::string ProcessBasicConstraints(X509_EXTENSION* ex) {
502 std::string rv; 502 std::string rv;
503 crypto::ScopedOpenSSL<BASIC_CONSTRAINTS, BASIC_CONSTRAINTS_free>::Type value( 503 crypto::ScopedOpenSSL<BASIC_CONSTRAINTS, BASIC_CONSTRAINTS_free> value(
504 reinterpret_cast<BASIC_CONSTRAINTS*>(X509V3_EXT_d2i(ex))); 504 reinterpret_cast<BASIC_CONSTRAINTS*>(X509V3_EXT_d2i(ex)));
505 if (!value.get()) 505 if (!value.get())
506 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 506 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
507 if (value.get()->ca) 507 if (value.get()->ca)
508 rv = l10n_util::GetStringUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_IS_CA); 508 rv = l10n_util::GetStringUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_IS_CA);
509 else 509 else
510 rv = l10n_util::GetStringUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_IS_NOT_CA); 510 rv = l10n_util::GetStringUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_IS_NOT_CA);
511 rv += '\n'; 511 rv += '\n';
512 if (value.get()->ca) { 512 if (value.get()->ca) {
513 base::string16 depth; 513 base::string16 depth;
514 if (!value.get()->pathlen) { 514 if (!value.get()->pathlen) {
515 depth = l10n_util::GetStringUTF16( 515 depth = l10n_util::GetStringUTF16(
516 IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN_UNLIMITED); 516 IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN_UNLIMITED);
517 } else { 517 } else {
518 depth = base::FormatNumber(ASN1_INTEGER_get(value.get()->pathlen)); 518 depth = base::FormatNumber(ASN1_INTEGER_get(value.get()->pathlen));
519 } 519 }
520 rv += l10n_util::GetStringFUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN, 520 rv += l10n_util::GetStringFUTF8(IDS_CERT_X509_BASIC_CONSTRAINT_PATH_LEN,
521 depth); 521 depth);
522 } 522 }
523 return rv; 523 return rv;
524 } 524 }
525 525
526 std::string ProcessExtKeyUsage(X509_EXTENSION* ex) { 526 std::string ProcessExtKeyUsage(X509_EXTENSION* ex) {
527 std::string rv; 527 std::string rv;
528 crypto::ScopedOpenSSL<EXTENDED_KEY_USAGE, EXTENDED_KEY_USAGE_free>::Type 528 crypto::ScopedOpenSSL<EXTENDED_KEY_USAGE, EXTENDED_KEY_USAGE_free> value(
529 value(reinterpret_cast<EXTENDED_KEY_USAGE*>(X509V3_EXT_d2i(ex))); 529 reinterpret_cast<EXTENDED_KEY_USAGE*>(X509V3_EXT_d2i(ex)));
530 if (!value.get()) 530 if (!value.get())
531 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 531 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
532 for (size_t i = 0; i < sk_ASN1_OBJECT_num(value.get()); i++) { 532 for (size_t i = 0; i < sk_ASN1_OBJECT_num(value.get()); i++) {
533 ASN1_OBJECT* obj = sk_ASN1_OBJECT_value(value.get(), i); 533 ASN1_OBJECT* obj = sk_ASN1_OBJECT_value(value.get(), i);
534 std::string oid_dump = Asn1ObjectToOIDString(obj); 534 std::string oid_dump = Asn1ObjectToOIDString(obj);
535 std::string oid_text = Asn1ObjectToString(obj); 535 std::string oid_text = Asn1ObjectToString(obj);
536 536
537 // If oid is one we recognize, oid_text will have a text description of the 537 // If oid is one we recognize, oid_text will have a text description of the
538 // OID, which we display along with the oid_dump. If we don't recognize the 538 // OID, which we display along with the oid_dump. If we don't recognize the
539 // OID, they will be the same, so just display the OID alone. 539 // OID, they will be the same, so just display the OID alone.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 std::string ProcessGeneralNames(GENERAL_NAMES* names) { 667 std::string ProcessGeneralNames(GENERAL_NAMES* names) {
668 std::string rv; 668 std::string rv;
669 for (size_t i = 0; i < sk_GENERAL_NAME_num(names); ++i) { 669 for (size_t i = 0; i < sk_GENERAL_NAME_num(names); ++i) {
670 GENERAL_NAME* name = sk_GENERAL_NAME_value(names, i); 670 GENERAL_NAME* name = sk_GENERAL_NAME_value(names, i);
671 rv += ProcessGeneralName(name); 671 rv += ProcessGeneralName(name);
672 } 672 }
673 return rv; 673 return rv;
674 } 674 }
675 675
676 std::string ProcessAltName(X509_EXTENSION* ex) { 676 std::string ProcessAltName(X509_EXTENSION* ex) {
677 crypto::ScopedOpenSSL<GENERAL_NAMES, GENERAL_NAMES_free>::Type alt_names( 677 crypto::ScopedOpenSSL<GENERAL_NAMES, GENERAL_NAMES_free> alt_names(
678 reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ex))); 678 reinterpret_cast<GENERAL_NAMES*>(X509V3_EXT_d2i(ex)));
679 if (!alt_names.get()) 679 if (!alt_names.get())
680 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 680 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
681 681
682 return ProcessGeneralNames(alt_names.get()); 682 return ProcessGeneralNames(alt_names.get());
683 } 683 }
684 684
685 std::string ProcessSubjectKeyId(X509_EXTENSION* ex) { 685 std::string ProcessSubjectKeyId(X509_EXTENSION* ex) {
686 crypto::ScopedOpenSSL<ASN1_OCTET_STRING, ASN1_OCTET_STRING_free>::Type value( 686 crypto::ScopedOpenSSL<ASN1_OCTET_STRING, ASN1_OCTET_STRING_free> value(
687 reinterpret_cast<ASN1_OCTET_STRING*>(X509V3_EXT_d2i(ex))); 687 reinterpret_cast<ASN1_OCTET_STRING*>(X509V3_EXT_d2i(ex)));
688 if (!value.get()) 688 if (!value.get())
689 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 689 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
690 690
691 return l10n_util::GetStringFUTF8( 691 return l10n_util::GetStringFUTF8(
692 IDS_CERT_KEYID_FORMAT, 692 IDS_CERT_KEYID_FORMAT,
693 base::ASCIIToUTF16(ProcessRawAsn1String(value.get()))); 693 base::ASCIIToUTF16(ProcessRawAsn1String(value.get())));
694 } 694 }
695 695
696 std::string ProcessAuthKeyId(X509_EXTENSION* ex) { 696 std::string ProcessAuthKeyId(X509_EXTENSION* ex) {
697 std::string rv; 697 std::string rv;
698 crypto::ScopedOpenSSL<AUTHORITY_KEYID, AUTHORITY_KEYID_free>::Type value( 698 crypto::ScopedOpenSSL<AUTHORITY_KEYID, AUTHORITY_KEYID_free> value(
699 reinterpret_cast<AUTHORITY_KEYID*>(X509V3_EXT_d2i(ex))); 699 reinterpret_cast<AUTHORITY_KEYID*>(X509V3_EXT_d2i(ex)));
700 if (!value.get()) 700 if (!value.get())
701 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 701 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
702 702
703 if (value.get()->keyid && ASN1_STRING_length(value.get()->keyid) > 0) { 703 if (value.get()->keyid && ASN1_STRING_length(value.get()->keyid) > 0) {
704 rv += l10n_util::GetStringFUTF8( 704 rv += l10n_util::GetStringFUTF8(
705 IDS_CERT_KEYID_FORMAT, 705 IDS_CERT_KEYID_FORMAT,
706 base::ASCIIToUTF16(ProcessRawAsn1String(value.get()->keyid))); 706 base::ASCIIToUTF16(ProcessRawAsn1String(value.get()->keyid)));
707 rv += '\n'; 707 rv += '\n';
708 } 708 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
744 } 744 }
745 if (notice->exptext && notice->exptext->length != 0) { 745 if (notice->exptext && notice->exptext->length != 0) {
746 rv += "\n "; 746 rv += "\n ";
747 rv += Asn1StringToUTF8(notice->exptext); 747 rv += Asn1StringToUTF8(notice->exptext);
748 } 748 }
749 return rv; 749 return rv;
750 } 750 }
751 751
752 std::string ProcessCertificatePolicies(X509_EXTENSION* ex) { 752 std::string ProcessCertificatePolicies(X509_EXTENSION* ex) {
753 std::string rv; 753 std::string rv;
754 crypto::ScopedOpenSSL<CERTIFICATEPOLICIES, CERTIFICATEPOLICIES_free>::Type 754 crypto::ScopedOpenSSL<CERTIFICATEPOLICIES, CERTIFICATEPOLICIES_free> policies(
755 policies(reinterpret_cast<CERTIFICATEPOLICIES*>(X509V3_EXT_d2i(ex))); 755 reinterpret_cast<CERTIFICATEPOLICIES*>(X509V3_EXT_d2i(ex)));
756 756
757 if (!policies.get()) 757 if (!policies.get())
758 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 758 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
759 759
760 for (size_t i = 0; i < sk_POLICYINFO_num(policies.get()); ++i) { 760 for (size_t i = 0; i < sk_POLICYINFO_num(policies.get()); ++i) {
761 POLICYINFO* info = sk_POLICYINFO_value(policies.get(), i); 761 POLICYINFO* info = sk_POLICYINFO_value(policies.get(), i);
762 std::string key = Asn1ObjectToString(info->policyid); 762 std::string key = Asn1ObjectToString(info->policyid);
763 // If we have policy qualifiers, display the oid text 763 // If we have policy qualifiers, display the oid text
764 // with a ':', otherwise just put the oid text and a newline. 764 // with a ':', otherwise just put the oid text and a newline.
765 if (info->qualifiers && sk_POLICYQUALINFO_num(info->qualifiers)) { 765 if (info->qualifiers && sk_POLICYQUALINFO_num(info->qualifiers)) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 {6, IDS_CERT_REVOCATION_REASON_CERTIFICATE_HOLD}, 815 {6, IDS_CERT_REVOCATION_REASON_CERTIFICATE_HOLD},
816 {7, IDS_CERT_REVOCATION_REASON_PRIVILEGE_WITHDRAWN}, 816 {7, IDS_CERT_REVOCATION_REASON_PRIVILEGE_WITHDRAWN},
817 {8, IDS_CERT_REVOCATION_REASON_AA_COMPROMISE}, 817 {8, IDS_CERT_REVOCATION_REASON_AA_COMPROMISE},
818 }; 818 };
819 // OpenSSL doesn't define constants for the DIST_POINT type field. These 819 // OpenSSL doesn't define constants for the DIST_POINT type field. These
820 // values are from reading openssl/crypto/x509v3/v3_crld.c 820 // values are from reading openssl/crypto/x509v3/v3_crld.c
821 const int kDistPointFullName = 0; 821 const int kDistPointFullName = 0;
822 const int kDistPointRelativeName = 1; 822 const int kDistPointRelativeName = 1;
823 823
824 std::string rv; 824 std::string rv;
825 crypto::ScopedOpenSSL<CRL_DIST_POINTS, CRL_DIST_POINTS_free>::Type 825 crypto::ScopedOpenSSL<CRL_DIST_POINTS, CRL_DIST_POINTS_free> dist_points(
826 dist_points(reinterpret_cast<CRL_DIST_POINTS*>(X509V3_EXT_d2i(ex))); 826 reinterpret_cast<CRL_DIST_POINTS*>(X509V3_EXT_d2i(ex)));
827 827
828 if (!dist_points.get()) 828 if (!dist_points.get())
829 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 829 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
830 830
831 for (size_t i = 0; i < sk_DIST_POINT_num(dist_points.get()); ++i) { 831 for (size_t i = 0; i < sk_DIST_POINT_num(dist_points.get()); ++i) {
832 DIST_POINT* point = sk_DIST_POINT_value(dist_points.get(), i); 832 DIST_POINT* point = sk_DIST_POINT_value(dist_points.get(), i);
833 if (point->distpoint) { 833 if (point->distpoint) {
834 switch (point->distpoint->type) { 834 switch (point->distpoint->type) {
835 case kDistPointFullName: 835 case kDistPointFullName:
836 rv += ProcessGeneralNames(point->distpoint->name.fullname); 836 rv += ProcessGeneralNames(point->distpoint->name.fullname);
(...skipping 19 matching lines...) Expand all
856 IDS_CERT_ISSUER_FORMAT, 856 IDS_CERT_ISSUER_FORMAT,
857 base::UTF8ToUTF16(ProcessGeneralNames(point->CRLissuer))); 857 base::UTF8ToUTF16(ProcessGeneralNames(point->CRLissuer)));
858 } 858 }
859 } 859 }
860 860
861 return rv; 861 return rv;
862 } 862 }
863 863
864 std::string ProcessAuthInfoAccess(X509_EXTENSION* ex) { 864 std::string ProcessAuthInfoAccess(X509_EXTENSION* ex) {
865 std::string rv; 865 std::string rv;
866 crypto::ScopedOpenSSL<AUTHORITY_INFO_ACCESS, AUTHORITY_INFO_ACCESS_free>::Type 866 crypto::ScopedOpenSSL<AUTHORITY_INFO_ACCESS, AUTHORITY_INFO_ACCESS_free> aia(
867 aia(reinterpret_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ex))); 867 reinterpret_cast<AUTHORITY_INFO_ACCESS*>(X509V3_EXT_d2i(ex)));
868 868
869 if (!aia.get()) 869 if (!aia.get())
870 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 870 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
871 871
872 for (size_t i = 0; i < sk_ACCESS_DESCRIPTION_num(aia.get()); ++i) { 872 for (size_t i = 0; i < sk_ACCESS_DESCRIPTION_num(aia.get()); ++i) {
873 ACCESS_DESCRIPTION* desc = sk_ACCESS_DESCRIPTION_value(aia.get(), i); 873 ACCESS_DESCRIPTION* desc = sk_ACCESS_DESCRIPTION_value(aia.get(), i);
874 874
875 base::string16 location_str = 875 base::string16 location_str =
876 base::UTF8ToUTF16(ProcessGeneralName(desc->location)); 876 base::UTF8ToUTF16(ProcessGeneralName(desc->location));
877 switch (OBJ_obj2nid(desc->method)) { 877 switch (OBJ_obj2nid(desc->method)) {
(...skipping 11 matching lines...) Expand all
889 base::UTF8ToUTF16(Asn1ObjectToString(desc->method)), 889 base::UTF8ToUTF16(Asn1ObjectToString(desc->method)),
890 location_str); 890 location_str);
891 break; 891 break;
892 } 892 }
893 } 893 }
894 return rv; 894 return rv;
895 } 895 }
896 896
897 std::string ProcessIA5StringData(ASN1_OCTET_STRING* asn1_string) { 897 std::string ProcessIA5StringData(ASN1_OCTET_STRING* asn1_string) {
898 const unsigned char* data = ASN1_STRING_data(asn1_string); 898 const unsigned char* data = ASN1_STRING_data(asn1_string);
899 crypto::ScopedOpenSSL<ASN1_IA5STRING, ASN1_IA5STRING_free>::Type ia5_string( 899 crypto::ScopedOpenSSL<ASN1_IA5STRING, ASN1_IA5STRING_free> ia5_string(
900 d2i_ASN1_IA5STRING(NULL, &data, ASN1_STRING_length(asn1_string))); 900 d2i_ASN1_IA5STRING(NULL, &data, ASN1_STRING_length(asn1_string)));
901 901
902 if (!ia5_string.get()) 902 if (!ia5_string.get())
903 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 903 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
904 904
905 return std::string( 905 return std::string(
906 reinterpret_cast<char*>(ASN1_STRING_data(ia5_string.get())), 906 reinterpret_cast<char*>(ASN1_STRING_data(ia5_string.get())),
907 ASN1_STRING_length(ia5_string.get())); 907 ASN1_STRING_length(ia5_string.get()));
908 } 908 }
909 909
910 std::string ProcessBMPStringData(ASN1_OCTET_STRING* asn1_string) { 910 std::string ProcessBMPStringData(ASN1_OCTET_STRING* asn1_string) {
911 const unsigned char* data = ASN1_STRING_data(asn1_string); 911 const unsigned char* data = ASN1_STRING_data(asn1_string);
912 crypto::ScopedOpenSSL<ASN1_BMPSTRING, ASN1_BMPSTRING_free>::Type bmp_string( 912 crypto::ScopedOpenSSL<ASN1_BMPSTRING, ASN1_BMPSTRING_free> bmp_string(
913 d2i_ASN1_BMPSTRING(NULL, &data, ASN1_STRING_length(asn1_string))); 913 d2i_ASN1_BMPSTRING(NULL, &data, ASN1_STRING_length(asn1_string)));
914 914
915 if (!bmp_string.get()) 915 if (!bmp_string.get())
916 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR); 916 return l10n_util::GetStringUTF8(IDS_CERT_EXTENSION_DUMP_ERROR);
917 917
918 return Asn1StringToUTF8(bmp_string.get()); 918 return Asn1StringToUTF8(bmp_string.get());
919 } 919 }
920 920
921 std::string X509ExtensionValueToString(X509_EXTENSION* ex) { 921 std::string X509ExtensionValueToString(X509_EXTENSION* ex) {
922 g_dynamic_oid_registerer.Get(); 922 g_dynamic_oid_registerer.Get();
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
1203 return rv; 1203 return rv;
1204 } 1204 }
1205 } 1205 }
1206 1206
1207 std::string ProcessRawBitsSignatureWrap( 1207 std::string ProcessRawBitsSignatureWrap(
1208 net::X509Certificate::OSCertHandle cert_handle) { 1208 net::X509Certificate::OSCertHandle cert_handle) {
1209 return ProcessRawAsn1String(cert_handle->signature); 1209 return ProcessRawAsn1String(cert_handle->signature);
1210 } 1210 }
1211 1211
1212 } // namespace x509_certificate_model 1212 } // namespace x509_certificate_model
OLDNEW
« no previous file with comments | « no previous file | content/child/webcrypto/openssl/aes_cbc_openssl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698