123456789101112131415161718192021222324252627282930313233343536373839404142 |
- // Copyright 2022 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #import "ios/web_view/public/cwv_x509_certificate.h"
- #import "ios/web_view/internal/cwv_x509_certificate_internal.h"
- #include "base/memory/scoped_refptr.h"
- #include "base/strings/sys_string_conversions.h"
- #include "base/time/time.h"
- #include "net/cert/x509_certificate.h"
- #if !defined(__has_feature) || !__has_feature(objc_arc)
- #error "This file requires ARC support."
- #endif
- @implementation CWVX509Certificate {
- scoped_refptr<net::X509Certificate> _internalCertificate;
- }
- - (instancetype)initWithInternalCertificate:
- (scoped_refptr<net::X509Certificate>)internalCertificate {
- DCHECK(internalCertificate);
- self = [super init];
- if (self) {
- _internalCertificate = internalCertificate;
- }
- return self;
- }
- - (NSString*)issuerDisplayName {
- const net::CertPrincipal& issuer = _internalCertificate->issuer();
- return base::SysUTF8ToNSString(issuer.GetDisplayName());
- }
- - (NSDate*)validExpiry {
- const base::Time& valid_expiry = _internalCertificate->valid_expiry();
- return valid_expiry.ToNSDate();
- }
- @end
|