| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/cast_certificate/cast_cert_validator.h" | 5 #include "components/cast_certificate/cast_cert_validator.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 // Adds a trust anchor given a DER-encoded certificate from static | 67 // Adds a trust anchor given a DER-encoded certificate from static |
| 68 // storage. | 68 // storage. |
| 69 template <size_t N> | 69 template <size_t N> |
| 70 void AddAnchor(const uint8_t (&data)[N]) { | 70 void AddAnchor(const uint8_t (&data)[N]) { |
| 71 net::CertErrors errors; | 71 net::CertErrors errors; |
| 72 scoped_refptr<net::ParsedCertificate> cert = | 72 scoped_refptr<net::ParsedCertificate> cert = |
| 73 net::ParsedCertificate::CreateWithoutCopyingUnsafe(data, N, {}, | 73 net::ParsedCertificate::CreateWithoutCopyingUnsafe(data, N, {}, |
| 74 &errors); | 74 &errors); |
| 75 CHECK(cert) << errors.ToDebugString(); | 75 CHECK(cert) << errors.ToDebugString(); |
| 76 // Enforce pathlen constraints and policies defined on the root certificate. | 76 // Enforce pathlen constraints and policies defined on the root certificate. |
| 77 scoped_refptr<net::TrustAnchor> anchor = | 77 store_.AddTrustAnchorWithConstraints(std::move(cert)); |
| 78 net::TrustAnchor::CreateFromCertificateWithConstraints(std::move(cert)); | |
| 79 store_.AddTrustAnchor(std::move(anchor)); | |
| 80 } | 78 } |
| 81 | 79 |
| 82 net::TrustStoreInMemory store_; | 80 net::TrustStoreInMemory store_; |
| 83 DISALLOW_COPY_AND_ASSIGN(CastTrustStore); | 81 DISALLOW_COPY_AND_ASSIGN(CastTrustStore); |
| 84 }; | 82 }; |
| 85 | 83 |
| 86 // Returns the OID for the Audio-Only Cast policy | 84 // Returns the OID for the Audio-Only Cast policy |
| 87 // (1.3.6.1.4.1.11129.2.5.2) in DER form. | 85 // (1.3.6.1.4.1.11129.2.5.2) in DER form. |
| 88 net::der::Input AudioOnlyPolicyOid() { | 86 net::der::Input AudioOnlyPolicyOid() { |
| 89 static const uint8_t kAudioOnlyPolicy[] = {0x2B, 0x06, 0x01, 0x04, 0x01, | 87 static const uint8_t kAudioOnlyPolicy[] = {0x2B, 0x06, 0x01, 0x04, 0x01, |
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 | 294 |
| 297 std::unique_ptr<CertVerificationContext> CertVerificationContextImplForTest( | 295 std::unique_ptr<CertVerificationContext> CertVerificationContextImplForTest( |
| 298 const base::StringPiece& spki) { | 296 const base::StringPiece& spki) { |
| 299 // Use a bogus CommonName, since this is just exposed for testing signature | 297 // Use a bogus CommonName, since this is just exposed for testing signature |
| 300 // verification by unittests. | 298 // verification by unittests. |
| 301 return base::MakeUnique<CertVerificationContextImpl>(net::der::Input(spki), | 299 return base::MakeUnique<CertVerificationContextImpl>(net::der::Input(spki), |
| 302 "CommonName"); | 300 "CommonName"); |
| 303 } | 301 } |
| 304 | 302 |
| 305 } // namespace cast_certificate | 303 } // namespace cast_certificate |
| OLD | NEW |