Git Product home page Git Product logo

macops-molcertificate's Introduction

MOLCertificate

Objective-C wrapper around SecCertificateRef with caching accessors.

Requires ARC. Tested on OS X 10.13+.

Usage

#import <MOLCertificate/MOLCertificate.h>

- (MOLCertificate *)certificateFromFile:(NSString *)filePath {
  NSData *fileData = [NSData dataWithContentsOfFile:filePath];
  return [[MOLCertificate alloc] initWithCertificateDataPEM:fileData];
}

- (BOOL)validateCertificate:(MOLCertificate *)cert {
  if ([cert.validFrom compare:[NSDate date]) == NSOrderedDescending) {
    NSLog(@"Certificate has expired");
    return NO;
  }

  if (! [cert.commonName isEqual:@"My Certificate"]) {
    NSLog(@"Certificate is not named the way I expected");
    return YES;
  }

  if (! [cert.countryName isEqual:@"US"]) {
    NSLog(@"This certificate is very un-American.");
  }
}

Installation

Using CocoaPods

Add the following line to your Podfile:

pod 'MOLCertificate'

Using Bazel

Add the following to your WORKSPACE:

load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

git_repository(
    name = "MOLCertificate",
    remote = "https://github.com/google/macops-molcertificate.git",
    tag = "v2.0",
)

And in your BUILD file, add MOLCertificate as a dependency:

objc_library(
    name = "MyAwesomeApp_lib",
    srcs = ["src/MyAwesomeApp.m", "src/MyAwesomeApp.h"],
    deps = ["@MOLCertificate//:MOLCertificate"],
)

Documentation

Reference documentation is at CocoaDocs.org:

http://cocoadocs.org/docsets/MOLCertificate

Contributing

Patches to this library are very much welcome. Please see the CONTRIBUTING file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.