Configuration
Application Config File
The configuration of the starting initializing product can be set in the YAML application config file. The application starts up, reads this file, and performs according to the set configuration.
The path to the file is specified in the DOCREADER_CONFIG_PATH environment variable.
For now, the only available option is to configure RFID but in the coming releases the scope will be broadened to various fine-tuning capabilities.
Chip Verification
To install Docker Compose, refer to the Docker official guide.
Download chip-docker-compose.yml and save it as docker-compose.yml:
wget https://docs.regulaforensics.com/develop/doc-reader-sdk/web-service/administration/files/chip-docker-compose.yml -O docker-compose.yml
To set the license, place the regula.license file into the same folder where the downloaded docker-compose.yml is located.
To start Docreader, invoke:
sudo docker-compose up -d
[+] Running 5/5
⠿ Network test_docreader-network Created
⠿ Volume "test_minio-data" Created
⠿ Container docreader Started
⠿ Container minio Started
⠿ Container minio-mc Started
Check the status:
sudo docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
docreader "./entrypoint.sh" docreader running 0.0.0.0:8080->8080/tcp
minio "/usr/bin/docker-ent…" minio running (healthy) 0.0.0.0:9000-9001->9000-9001/tcp
minio-mc "/bin/sh -c ' /usr/b…" create-buckets exited (0)
To stop Docreader, run:
sudo docker-compose down
To delete data after stopping Docreader:
sudo docker-compose down -v
-
Install Minio Please refer to the official Minio documentation.
-
Run Minio by setting default user and password:
export MINIO_ROOT_USER=minioadmin export MINIO_ROOT_PASSWORD=minioadmin minio server /data
-
Install the official minio
mc
client and create a bucket:wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x mc mc config host add myminio http://localhost:9000 minioadmin minioadmin mc mb myminio/chip-verification-data
-
Set the Chip Verification respective environment variables to the /opt/regula/document-reader-webapi/.env file:
- REGULA_SERVER_SIDE_CHIP_VERIFICATION=true
- REGULA_STORAGE_URL=localhost:9000
- REGULA_STORAGE_ACCESS_KEY=minioadmin
- REGULA_STORAGE_SECRET_KEY=minioadmin
- REGULA_STORAGE_CHIP_DATA_BUCKET=chip-verification-data
RFID PKD
To verify PA for the RFID sessions:
- Create a folder and copy masterlists there.
- Mount the host folder to the folder inside the container and point to that specific folder using the
RFID_PKD_PA_PATH
ENV variable or simply enable theRFID_PKD_PA
ENV variable (uses default masterlists location "/app/rfid_pkd").
mkdir ~/masterlists
cp *.ldif ~/masterlists/
To verify PA for the RFID sessions:
- Create a folder (e.g. /opt/regula/document-reader-webapi/rfid_pkd - default) and copy masterlists here.
- Set RFID PKD respective environment variables to /opt/regula/document-reader-webapi/.env file
- DOCREADER_RFID_PKD_PA=true
- DOCREADER_RFID_PKD_PA_PATH=/opt/regula/document-reader-webapi/rfid_pkd
- Restart the service.
RFID_PKD_PA option
docker run -it -p 8080:8080 -v ~/regula.license:/app/extBin/unix_x64/regula.license -v ~/masterlists:/app/rfid_pkd -e RFID_PKD_PA="true" regulaforensics/docreader
RFID_PKD_PA_PATH option
docker run -it -p 8080:8080 -v ~/regula.license:/app/extBin/unix_x64/regula.license -v ~/masterlists:/app/masterlists -e RFID_PKD_PA_PATH="/app/masterlists" regulaforensics/docreader
You can customize the path to folder containing masterlists via the DOCREADER_RFID_PKD_PA_PATH
environment variable.
Note that the application should have the write
permission on the folder where logs will be stored.
Defining critical error codes
Use paSensitive
to define a list of error codes (int type) that will be considered critical when processed. For the full list of notification codes, see the eLDS_ParsingErrorCodes enumeration.
Here is an example of a YAML config file with two critical error codes defined:
sdk:
rfid:
paSensitiveCodes:
- -1879048190
- -1879048189
To disable paSensitive
, specify an empty list:
sdk:
rfid:
paSensitiveCodes:
-
Defining PA sensitive codes
Use paIgnoreNotificationCodes
to define notification codes (int type) that should be ignored during passive authentication (PA). For the full list of notification codes, see the eLDS_ParsingNotificationCodes enumeration.
Here is an example with two PA sensitive codes defined:
{
"processParam": {
"rfid": {
"paIgnoreNotificationCodes": [
-1879047913,
-1879047667
]
}
}
}