separate articles

This commit is contained in:
postscriptum 2026-01-29 20:07:41 +02:00
parent 4d8cd83432
commit 5e06621a43
4 changed files with 188 additions and 184 deletions

View file

@ -0,0 +1,54 @@
# Особливості запуску GOSTcoin на Fedora
Якщо запустити гаманець на Fedora 43, то можна побачити помилку:
> error loading wallet.dat: wallet corrupted
А в журналі:
``` ~/.gostcoin/debug.log
Error reading wallet database: CPrivKey corrupt
```
Це пов'язано з тим, що в дистрибутивах сімейства Red Hat - використовується відмінна від оригінальної версія OpenSSL, через що гаманець не може застосувати криптографічний алгоритм GOST через функцію d2i_ECPrivateKey:
=> https://github.com/GOSTSec/gostcoin/issues/65
* Самостійно, я вгепав у це питання близько тижня і спочатку почав копати в бік користувацьких "рушіїв" та "провайдерів" криптографічних алгоритмів системного OpenSSL. Такий підхід я згодом виніс в окрему нотатку, але з сабжем вона виявилась не пов'язаною:
=> openssl-provider-setup-on-fedora-using-gost-engine-example.gmi Підключення користувацьких алгоритмів OpenSSL на прикладі провайдера "GOST engine"
## Рішення
Згідно поради @original, для розпізнавання криптографічних кривих GOST, достатньо зібрати OpenSSL з вихідного коду, вказавши змінну оточення LD_LIBRARY_PATH при запуску гаманця GOSTcoin.
### OpenSSL
``` bash
wget https://github.com/openssl/openssl/archive/refs/tags/openssl-3.5.4.zip
unzip openssl-3.5.4.zip
cd openssl-3.5.4
./Configure --prefix=/usr/local/ssl --openssldir=/usr/local/ssl '-Wl,-rpath,$(LIBRPATH)'
make
sudo make install
```
=> https://github.com/openssl/openssl/blob/master/NOTES-UNIX.md#shared-libraries-and-installation-in-non-default-locations
### GOSTcoin
``` bash
git clone https://github.com/GOSTSec/gostcoin.git
cd gostcoin
/usr/lib64/qt5/bin/qmake "USE_QRCODE=1"
make
```
* `/usr/lib64/qt5/bin/qmake` - тому що в мене система чомусь не бачить `qmake`
* `USE_QRCODE=1` - опціонально, якщо потрібна функціональність QR-кодів
=> https://github.com/GOSTSec/gostcoin#building-gostcoin
### Запуск гаманця
``` bash
LD_LIBRARY_PATH=/usr/local/ssl/lib64:/usr/local/ssl/lib:$LD_LIBRARY_PATH gostcoin-qt
```