Skip to content

Commit

Permalink
Bump version to 1.3.1 and prpvide packages only for amd64(x86_64) arc…
Browse files Browse the repository at this point in the history
…hitecture

Former-commit-id: e56ed32
  • Loading branch information
Gianluca Boiano committed Nov 12, 2020
1 parent a2e406e commit 12716c4
Show file tree
Hide file tree
Showing 416 changed files with 32,751 additions and 208 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.VC.db
*.VC.opendb
/libcie-pkcs11/Release/libcie-pkcs11.so
/cie-java/.gradle
/cie-java/bin
1 change: 0 additions & 1 deletion .gitignore.REMOVED.git-id

This file was deleted.

47 changes: 47 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
os: linux
dist: focal
language: java
env:
global:
- PACUR_TAG=0.6
services:
- docker
jdk:
- openjdk11
- oraclejdk11
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- "$HOME/.gradle/caches/"
- "$HOME/.gradle/wrapper/"
before_install:
- docker pull m0rf30/pacur-archlinux:$PACUR_TAG
- docker pull m0rf30/pacur-fedora-31:$PACUR_TAG
- docker pull m0rf30/pacur-opensuse-tumbleweed:$PACUR_TAG
- docker pull m0rf30/pacur-ubuntu-bionic:$PACUR_TAG
- docker pull m0rf30/pacur-ubuntu-focal:$PACUR_TAG
script:
- cd pacur
- docker run -v $(pwd):/pacur -ti m0rf30/pacur-archlinux:$PACUR_TAG
- docker run -v $(pwd):/pacur -ti m0rf30/pacur-fedora-31:$PACUR_TAG
- docker run -v $(pwd):/pacur -ti m0rf30/pacur-opensuse-tumbleweed:$PACUR_TAG
- docker run -v $(pwd):/pacur -ti m0rf30/pacur-ubuntu-bionic:$PACUR_TAG
- docker run -v $(pwd):/pacur -ti m0rf30/pacur-ubuntu-focal:$PACUR_TAG
- for i in $(ls); do sha256sum $i >> SHA256SUMS; done
deploy:
provider: releases
token:
secure: Lh07PKZQck5GGu/EB6aXxR17MB9jD1O9tHhP8DWF9rSXdNcj0HVIRF+fOnAqJFhG8clPH2BM9tytNUCdcw38WPT/6km8yA99yWYuugxYiyUQd6DSjzOZjh66TO5M9iMuknQ43V5+q75vdCm4gw4mfAVJs9iBFk91UmkVr6wUVGNM0ZAxaHpuO1+7HBMOra3fnFPcEiR5+q/RnoGTZMMRggSxASixtJWFCr5A07EW9tEYBvlLta+EU0Djtiehn4+PuCU2G49A/rf9jG7Y1AKfdk0E95w+zcnpJ7rVAfT78Hh16O8jGWLF8v30U8kqbLCbF4Mx6mX/dslHZ3XLBkkBv4aem0mIKf3CFhpYfhSXO2k81I/yUx3J4+qiywVi5NRt3+WCL61wUyOyEdIT/LztrIoVsvy/AVZF0YPCcw44jHTRXNXSHpEdNTCHxSmI4I6oSYK8V1uvTc4jLb2aMflZ5oVE9w5Ua9LYkYs4Vl6u2pb6opx3RZXvC9ol+STBB3z3U+h5Dp1tHTntyEkA9Q158yCcoPdglVufkKjf31Br7he8KBkEe7s03ND41PoKIEl5C18vRUR0y0B3ITeC0UoR7OAgRWnvqfnMYDbvOnJzYCeOTno86SqfwVXmNmvIN773Fc+cVd1gWhaH8ebmRG9D1pt2xEbMKiHmUfYXuuzG+hQ=
file_glob: true
file:
- ./*.deb
- ./*.rpm
- ./*.tar.zst
- ./SHA256SUMS
skip_cleanup: true
on:
repo: M0Rf30/cie-middleware-linux
branch: master
tags: true
1 change: 0 additions & 1 deletion .travis.yml.REMOVED.git-id

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

30 changes: 30 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
BSD 3-Clause License

Copyright (c) 2017, Developers Italia
Copyright (c) 2017, Istituto Poligrafico e Zecca dello Stato
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1 change: 0 additions & 1 deletion LICENSE.REMOVED.git-id

This file was deleted.

53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
[![Join the #cie-middleware channel](https://img.shields.io/badge/Slack%20channel-%23cie--middleware-blue.svg?logo=slack)](https://developersitalia.slack.com/messages/C7FPGAG94)
[![Get invited](https://slack.developers.italia.it/badge.svg)](https://slack.developers.italia.it/)
[![CIE on forum.italia.it](https://img.shields.io/badge/Forum-CIE-blue.svg)](https://forum.italia.it/c/cie)
[![Build Status](https://travis-ci.com/M0Rf30/cie-middleware-linux.svg?branch=master)](https://travis-ci.com/M0Rf30/cie-middleware-linux)

Middleware della CIE (Carta di Identità Elettronica) per Windows e Linux

# MIDDLEWARE CSP-PKCS11 PER LA CIE 3.0

Il middleware qui presente è in fase di sviluppo, ed è da considerarsi in **versione beta**. È possibile effettuare tutti gli sviluppi e i test, ma è per ora questa base di codice **non è consigliabile per l'uso in produzione**.

## CASO D’USO

Il middleware CIE è una libreria software che implementa le interfacce crittografiche standard **PKCS#11** e **CSP**. Esso consente agli applicativi integranti di utilizzare il certificato di autenticazione e la relativa chiave privata memorizzati sul chip della CIE astraendo dalle modalità di comunicazione di basso livello.

## ARCHITETTURA
La libreria è sviluppata in C++ e supporta i sistemi operativi Windows e Linux.

# WINDOWS
La libreria è sviluppata in C++ su Visual Studio 15 2017 Community; per compilare il modulo di installazione (progetto **Setup**) è inoltre necessario [NSIS 3.02.1](https://sourceforge.net/projects/nsis/). Allo stato attuale è utilizzabile esclusivamente in ambiente Windows. Entrambe le interfacce sono esposte della stessa libreria (CIEPKI.dll), che viene compilata dal progetto CSP. La libreria viene compilata sia in versione a 32 bit che a 64 bit.
L’interfaccia CSP è conforme alla versione 7 delle specifiche dei Minidriver pubblicate da Microsoft a [questo](http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/sc-minidriver_specs_V7.docx) indirizzo.
L’interfaccia PKCS11 è conforme alla specifica [RSA 2.11](https://www.cryptsoft.com/pkcs11doc/v211/).

## CSP
Il Minidriver CIE gestisce la carta in modalità **Read-Only**, come previsto dalle specifiche §7.4, pertanto i comandi di creazione e cancellazione di oggetti non sono supportati. Si faccia riferimento alla specifica Microsoft per i dettagli su quali operazioni possono essere effettuate su una carta Read Only.
Il modulo CSP implementa anche uno store provider per i certificati, in modo tale da non richiedere l’operazione di propagazione dei certificati nello store di sistema.

## PKCS11
Allo stesso modo del CSP, anche il PKCS11 gestisce la carta in modalità **read-only**. Pertanto le operazioni di creazione, modifica e distruzione di qualsiasi oggetto restituiranno un errore.

## Setup
Il modulo di installazione del Middleware si compila tramite il progetto **Setup**, che richiede l'installazione di [NSIS 3.02.1](https://sourceforge.net/projects/nsis/). Il setup installa sia la versione a 32 che a 64 bit, ed effettua la registrazione del CSP e dello Store provider. Il modulo PKCS11 non richiede registrazione, ma il nome del modulo (**CIEPKI.dll**) deve essere noto alle applicazioni che lo utilizzano.


# LINUX
### Prerequisiti
Fare riferimento al package manager della propria distribuzione:
- demone pcscd. Di solito è già presente e viene lanciato come servizio automaticamente
- pcsclite-dev per la comunicazione con la smartcard
- per l'interfaccia grafica uno dei seguenti programmi eseguibili: zenity oppure kdialog (quest'ultimo con qdbus)
- openssl-dev (contenente libcrypto)
- cmake

### Build
Da terminale, spostarsi nella root del presente repo e digitare:
```
gradle -b cie-java/build.gradle standalone
cd libcie-pkcs11/Release && make
```
alla fine della build saranno presenti i file:
* libcie-pkcs11/Release/libcie-pkcs11.so
* cie-java/bin/libs/CIEID-standalone.jar (gli eseguibili di test e sblocco/cambio PIN)
1 change: 0 additions & 1 deletion README.md.REMOVED.git-id

This file was deleted.

Binary file added Test/CIE 3.0 - Piano di test middleware 1.0.xlsx
Binary file not shown.

This file was deleted.

Binary file added Test/TestCA.cer
Binary file not shown.
1 change: 0 additions & 1 deletion Test/TestCA.cer.REMOVED.git-id

This file was deleted.

Loading

0 comments on commit 12716c4

Please sign in to comment.