Giter VIP home page Giter VIP logo

tpm-core's Introduction

TPM Core

Depends on TPM2-TSS

Compiling the library

gcc uniris-tpm.c -o uniris-tpm -ltss2-esys -c

Testing with a driver

gcc driver.c -o driver uniris-tpm -ltss2-esys
sudo ./driver

One step driver compilation

gcc driver.c -o driver uniris-tpm.c -ltss2-esys
sudo ./driver

Compiling TPM-core for Elixir support

Make sure that Erlang and Elixir are already installed on the system.

gcc support.c -o support stdio_helpers.c uniris-tpm.c -ltss2-esys

Required commands at the start of a new session

sudo iex tpm-lib.ex
TPMPort.start_link
TPMPort.initialize_tpm(KEY_INDEX)

Library Functions for Elixir support

TPMPort.get_public_key(KEY_INDEX)
TPMPort.sign_ecdsa(KEY_INDEX, HASH_SHA256)
TPMPort.get_key_index()
TPMPort.set_key_index(KEY_INDEX)

Testing

sudo iex tpm-lib.ex
TPMPort.start_link
TPMPort.initialize_tpm(10)
key = TPMPort.get_public_key(10)
hash256 = :crypto.hash(:sha256, "UNIRIS")
sign = TPMPort.sign_ecdsa(10, hash256)
:crypto.verify(:ecdsa, :sha256, "UNIRIS", sign, [key, :secp256r1])

tpm-core's People

Contributors

dr-chain 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.