Coder Social home page Coder Social logo

sylvain-prevost / epassportlibrary Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 4.0 1.26 MB

C# library to ease decoding/encoding/validation of ePassport data (certificates, face, fingerprint, etc..).

License: MIT License

C# 100.00%
epassport csharp mrtd dotnet face fingerprint iris asn-1 asn1

epassportlibrary's Introduction

ePassport Library

C# library leveraging BinaryNotes.NET to enable parsing/manipulation/encoding of MRTD security features (Passport certificates, picture/fingerprints Datagroups, etc).

Nuget

Example of use:


using (FileStream fs = File.Open(filename, FileMode.Open))
{
    byte[] data = new byte[fs.Length];
    fs.Read(data, 0, data.Length);

    ContentInfo contentInfo = Utils.DerDecode<ContentInfo>(data);

    KnownOids oid = Oids.ParseKnown(contentInfo.ContentType.Value.Value);
    if (oid == KnownOids.signedData)
    {
        SignedData signedData = Utils.DerDecode<SignedData>(contentInfo.Content);

        // check if SignedData contains a cscaMasterList object
        if (Oids.ParseKnown(signedData.EncapContentInfo.EContentType.Value.Value) == KnownOids.cscaMasterList)
        {
            // check the masterlist digest signature here
            // ....

            // now obtain the master list content
            CscaMasterList cscaMasterList = Utils.DerDecode<CscaMasterList>(signedData.EncapContentInfo.EContent);

            Console.WriteLine("number of certs present in cscaMasterList : " + cscaMasterList.CertList.Count);

            foreach (Certificate certificate in cscaMasterList.CertList)
            {
                // .. do stuff ..
            }
        }
    }

}

see examples folder for additional examples, including parsing and visualization of face & fingerprints.


Output from examples.


Alt text



epassportlibrary's People

Contributors

ksachdeva-hid avatar sylvain-prevost avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

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.