Unverified Commit e35bd306 authored by Chadwick Strange's avatar Chadwick Strange Committed by GitHub

Merge pull request #20 from skalenetwork/enhancement/add-missing-license-headers

Enhancement/add missing license headers
parents 0fb11af9 920bf52c
* @svetaro @olehnikolaiev @kladkogex * @svetaro @olehnikolaiev @kladkogex
*.md @cstrangedk
\ No newline at end of file
...@@ -6,6 +6,10 @@ sgxwallet is a next generation hardware secure crypto wallet that is based on I ...@@ -6,6 +6,10 @@ sgxwallet is a next generation hardware secure crypto wallet that is based on I
sgxwallet has been tested on Ubuntu Linux 18.04. sgxwallet has been tested on Ubuntu Linux 18.04.
## An important note about production readiness
This sgxwallet library is still in active development and therefore should be regarded as _alpha software_. The development is still subject to security hardening, further testing, and breaking changes. **This library has not yet been reviewed or audited for security.**
## Install Prerequisites ## Install Prerequisites
```sh ```sh
...@@ -26,7 +30,7 @@ To build and run sgxd, you'll need Intel SGX capable hardware. Most Intel chips ...@@ -26,7 +30,7 @@ To build and run sgxd, you'll need Intel SGX capable hardware. Most Intel chips
- If you can set SGX to `enabled` you are done! Proceed with "Install SGX Driver" section - If you can set SGX to `enabled` you are done! Proceed with "Install SGX Driver" section
- If not, set SGX in BIOS to `software-controlled` and then enable by running a sgx-enable utility, as described below. - If not, set SGX in BIOS to `software-controlled` and then enable by running a sgx-enable utility, as described below.
## Enable "software-controlled" SGX ## Enable "software-controlled" SGX (for testing purposes only)
To enable SGX using a software utility: To enable SGX using a software utility:
...@@ -70,7 +74,7 @@ automake ...@@ -70,7 +74,7 @@ automake
Cd to project top dir and run Cd to project top dir and run
```sg ```sh
make make
``` ```
...@@ -80,11 +84,9 @@ Type `./sgxwallet` ...@@ -80,11 +84,9 @@ Type `./sgxwallet`
## Build Docker container ## Build Docker container
``` sudo apt-get install -y docker.io;
sudo apt-get install -y docker.io; cd docker;
cd docker; sudo docker build -t sgxcontainer .
sudo docker build -t sgxcontainer .
```
## Run Docker container ## Run Docker container
...@@ -92,25 +94,18 @@ Enable SGX and install SGX driver on the host machine as described above. ...@@ -92,25 +94,18 @@ Enable SGX and install SGX driver on the host machine as described above.
Then run Then run
``` sudo docker run -di --network host --device /dev/isgx --device /dev/mei0 --name sgxwallet sgxcontainer ./start.sh
sudo docker run -di --network host --device /dev/isgx --device /dev/mei0 --name sgxwallet sgxcontainer ./start.sh
```
This will run the server in a Docker container named sgxwallet This will run the server in a Docker container named sgxwallet
You can check that the server is running by doing You can check that the server is running by doing
``` telnet localhost 2027
telnet localhost 2027
```
You can start and stop running sgxwallet container by doing You can start and stop running sgxwallet container by doing
``` docker stop sgxwallet
docker stop sgxwallet docker start sgxwallet
docker start sgxwallet
```
## Development ## Development
...@@ -120,3 +115,21 @@ Please do not add these files to the source tree! ...@@ -120,3 +115,21 @@ Please do not add these files to the source tree!
To add new source and include files to app and enclave, edit the corresponding "Makefile.am" file and then re-run configure. To add new source and include files to app and enclave, edit the corresponding "Makefile.am" file and then re-run configure.
If you change .edl file, you need to re-run configure too. If you change .edl file, you need to re-run configure too.
## Libraries
- [Intel-SGX-SSL by Intel](https://github.com/intel/intel-sgx-ssl)
- [LevelDB by Google](https://github.com/google/leveldb)
- [libBLS by SKALE Labs](https://github.com/skalenetwork/libBLS)
- [libff by SCIPR-LAB](http://www.scipr-lab.org/)
- [Linux SGX Driver by Intel](https://github.com/intel/linux-sgx-driver)
- [SGX-GMP by Intel](https://github.com/intel/sgx-gmp)
- [SGX Software Enable by Intel](https://github.com/intel/sgx-software-enable)
## License
[![License](https://img.shields.io/github/license/skalenetwork/sgxwallet.svg)](LICENSE)
All contributions to sgxwallet are made under the [GNU Affero General Public License v3](https://www.gnu.org/licenses/agpl-3.0.en.html). See [LICENSE](LICENSE).
Copyright (C) 2019-Present SKALE Labs.
// /*
// Created by kladko on 12/9/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SGXRegistrationServer.cpp
@author Stan Kladko
@date 2019
*/
#include <iostream> #include <iostream>
#include <fstream> #include <fstream>
......
// /*
// Created by kladko on 12/9/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SGXRegistrationServer.h
@author Stan Kladko
@date 2019
*/
#ifndef SGXD_SGXREGISTRATIONSERVER_H #ifndef SGXD_SGXREGISTRATIONSERVER_H
#define SGXD_SGXREGISTRATIONSERVER_H #define SGXD_SGXREGISTRATIONSERVER_H
......
// /*
// Created by kladko on 05.09.19.
// Modifications Copyright (C) 2019-Present SKALE Labs
*/
/************************************************************************* /*************************************************************************
......
// /*
// Created by kladko on 05.09.19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SGXWalletServer.h
@author Stan Kladko
@date 2019
*/
#ifndef SGXWALLET_SGXWALLETSERVER_H #ifndef SGXWALLET_SGXWALLETSERVER_H
#define SGXWALLET_SGXWALLETSERVER_H #define SGXWALLET_SGXWALLETSERVER_H
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file SGXWalletServer.hpp
@author Sveta Rogova
@date 2019
*/
#ifndef SGXWALLET_SGXWALLETSERVER_HPP #ifndef SGXWALLET_SGXWALLETSERVER_HPP
#define SGXWALLET_SGXWALLETSERVER_HPP #define SGXWALLET_SGXWALLETSERVER_HPP
......
// /*
// Created by kladko on 12/9/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file abstractregserver.h
@author Stan Kladko
@date 2019
*/
#ifndef SGXD_ABSTRACTREGSERVER_H #ifndef SGXD_ABSTRACTREGSERVER_H
#define SGXD_ABSTRACTREGSERVER_H #define SGXD_ABSTRACTREGSERVER_H
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file curves.c
@author Sveta Rogova
@date 2019
*/
#include <../tgmp-build/include/sgx_tgmp.h> #include <../tgmp-build/include/sgx_tgmp.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file curves.h
@author Sveta Rogova
@date 2019
*/
/*Curves that can be loaded using domain_parameters_load_curve()*/ /*Curves that can be loaded using domain_parameters_load_curve()*/
typedef enum { secp112r1 = 0, typedef enum { secp112r1 = 0,
//secp112r2, //See remark below //secp112r2, //See remark below
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file domain_parameters.c
@author Sveta Rogova
@date 2019
*/
#include <../tgmp-build/include/sgx_tgmp.h> #include <../tgmp-build/include/sgx_tgmp.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdbool.h> #include <stdbool.h>
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file domain_parameters.h
@author Sveta Rogova
@date 2019
*/
/*Type that represents a point*/ /*Type that represents a point*/
typedef struct point_s* point; typedef struct point_s* point;
struct point_s struct point_s
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file numbertheory.c
@author Sveta Rogova
@date 2019
*/
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <../tgmp-build/include/sgx_tgmp.h> #include <../tgmp-build/include/sgx_tgmp.h>
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file numbertheory.h
@author Sveta Rogova
@date 2019
*/
/*Calculate R = a^k mod P, using repeated square-and-multiply algorithm /*Calculate R = a^k mod P, using repeated square-and-multiply algorithm
*Handbook of applied cryptography: Algorithm 2.143. */ *Handbook of applied cryptography: Algorithm 2.143. */
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file point.c
@author Sveta Rogova
@date 2019
*/
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <../tgmp-build/include/sgx_tgmp.h> #include <../tgmp-build/include/sgx_tgmp.h>
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file point.h
@author Sveta Rogova
@date 2019
*/
/*Initialize a point*/ /*Initialize a point*/
point point_init(); point point_init();
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file signature.c
@author Sveta Rogova
@date 2019
*/
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <../tgmp-build/include/sgx_tgmp.h> #include <../tgmp-build/include/sgx_tgmp.h>
......
/*
Copyright (C) 2019-Present SKALE Labs
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file signature.h
@author Sveta Rogova
@date 2019
*/
/*Type for representing a signature*/ /*Type for representing a signature*/
struct signature_s struct signature_s
......
/* /*
Modifications Copyright (C) 2019 SKALE Labs
Copyright 2018 Intel Corporation Copyright 2018 Intel Corporation
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
......
// /*
// Created by kladko on 9/3/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file sgxwallet.h
@author Stan Kladko
@date 2019
*/
#ifndef SGXWALLET_SGXWALLET_H #ifndef SGXWALLET_SGXWALLET_H
#define SGXWALLET_SGXWALLET_H #define SGXWALLET_SGXWALLET_H
......
// /*
// Created by kladko on 9/3/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file sgxwallet_common.h
@author Stan Kladko
@date 2019
*/
#ifndef SGXD_SGXD_COMMON_H #ifndef SGXD_SGXD_COMMON_H
#define SGXD_SGXD_COMMON_H #define SGXD_SGXD_COMMON_H
......
// /*
// Created by kladko on 9/23/19. Copyright (C) 2019-Present SKALE Labs
//
This file is part of sgxwallet.
sgxwallet is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
sgxwallet is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with sgxwallet. If not, see <https://www.gnu.org/licenses/>.
@file stubclient.cpp
@author Stan Kladko
@date 2019
*/
#include <iostream> #include <iostream>
......
/* /*
Modifications Copyright (C) 2019 SKALE Labs
Copyright 2018 Intel Corporation Copyright 2018 Intel Corporation
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment