1%% -*- mode: erlang; tab-width: 4; indent-tabs-mode: 1; st-rulers: [70] -*- 2%% vim: ts=4 sw=4 ft=erlang noet 3%%%------------------------------------------------------------------- 4%%% @author Andrew Bennett <potatosaladx@gmail.com> 5%%% @copyright 2014-2017, Andrew Bennett 6%%% @doc 7%%% 8%%% @end 9%%% Created : 12 May 2017 by Andrew Bennett <potatosaladx@gmail.com> 10%%%------------------------------------------------------------------- 11 12-ifndef(JOSE_PUBLIC_KEY_HRL). 13 14-include_lib("public_key/include/public_key.hrl"). 15 16-ifndef('id-aes128-CBC'). 17-define('id-aes128-CBC', {2,16,840,1,101,3,4,1,2}). 18-endif. 19 20-ifndef('id-aes192-CBC'). 21-define('id-aes192-CBC', {2,16,840,1,101,3,4,1,22}). 22-endif. 23 24-ifndef('id-aes256-CBC'). 25-define('id-aes256-CBC', {2,16,840,1,101,3,4,1,42}). 26-endif. 27 28-define('jose_id-X25519', {1,3,101,110}). 29-define('jose_id-X448', {1,3,101,111}). 30-define('jose_id-EdDSA25519', {1,3,101,112}). 31-define('jose_id-EdDSA448', {1,3,101,113}). 32 33-record(jose_EdDSA25519PublicKey, { 34 publicKey = undefined :: undefined | << _:256 >> 35}). 36 37-record(jose_EdDSA25519PrivateKey, { 38 publicKey = undefined :: undefined | #jose_EdDSA25519PublicKey{}, 39 privateKey = undefined :: undefined | << _:256 >> 40}). 41 42-record(jose_EdDSA448PublicKey, { 43 publicKey = undefined :: undefined | << _:456 >> 44}). 45 46-record(jose_EdDSA448PrivateKey, { 47 publicKey = undefined :: undefined | #jose_EdDSA448PublicKey{}, 48 privateKey = undefined :: undefined | << _:456 >> 49}). 50 51-record(jose_X25519PublicKey, { 52 publicKey = undefined :: undefined | << _:256 >> 53}). 54 55-record(jose_X25519PrivateKey, { 56 publicKey = undefined :: undefined | #jose_X25519PublicKey{}, 57 privateKey = undefined :: undefined | << _:256 >> 58}). 59 60-record(jose_X448PublicKey, { 61 publicKey = undefined :: undefined | << _:448 >> 62}). 63 64-record(jose_X448PrivateKey, { 65 publicKey = undefined :: undefined | #jose_X448PublicKey{}, 66 privateKey = undefined :: undefined | << _:448 >> 67}). 68 69-define(JOSE_PUBLIC_KEY_HRL, 1). 70 71-endif. 72