Fabrique ou récupère un PASS pour fabriquer le QRCode "privé" sécurisé avec openssl pour chaque MEDIAKEY

This commit is contained in:
qo-op 2021-06-29 02:01:54 +02:00
parent df8f9a6b3e
commit c98a5bc7b6
1 changed files with 18 additions and 9 deletions

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
# ADD QR/sec CODE & DUNIKEY TO MEDIAKEY # ADD QR/sec CODE & DUNIKEY TO MEDIAKEY
# Fabrique ou récupère un PASS pour fabriquer le QRCode "privé" sécurisé avec openssl
# ~/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/QRsec.png
for MEDIAKEY in $(ipfs key list); for MEDIAKEY in $(ipfs key list);
do do
@ -21,6 +23,7 @@ if [[ -f $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.pass.encrypt ]
PASS=$(cat "/tmp/${MEDIAKEY}.pass") PASS=$(cat "/tmp/${MEDIAKEY}.pass")
[[ ! $PASS ]] && echo "PASS EMPTY. EXIT." && exit 1 [[ ! $PASS ]] && echo "PASS EMPTY. EXIT." && exit 1
echo "# DECODING DUNIKEY"
openssl enc -aes-256-cbc -d -in "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/dunikey.enc" -out "/tmp/${MEDIAKEY}.dunikey" -k $PASS openssl enc -aes-256-cbc -d -in "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/dunikey.enc" -out "/tmp/${MEDIAKEY}.dunikey" -k $PASS
~/.zen/astrXbian/zen/tools/natools.py privkey -f ipfs-keystore -k $HOME/.ipfs/keystore/$KEYFILE -F pubsec -o /tmp/${MEDIAKEY}.dunikey ~/.zen/astrXbian/zen/tools/natools.py privkey -f ipfs-keystore -k $HOME/.ipfs/keystore/$KEYFILE -F pubsec -o /tmp/${MEDIAKEY}.dunikey
PubFromDunikey=$(cat /tmp/${MEDIAKEY}.dunikey | grep "pub" | cut -d ' ' -f2) PubFromDunikey=$(cat /tmp/${MEDIAKEY}.dunikey | grep "pub" | cut -d ' ' -f2)
@ -29,13 +32,13 @@ if [[ -f $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/${G1PUB}/.pass.encrypt ]
else else
echo "# CREATE DUNIKEY QR CODE" echo "# CREATE 6 DIGIT PASS"
PASS=$(echo "000000${RANDOM:0:6}" | tail -c-7) && echo "$PASS" > /tmp/${MEDIAKEY}.pass PASS=$(echo "000000${RANDOM:0:6}" | tail -c-7) && echo "$PASS" > /tmp/${MEDIAKEY}.pass
echo "# GET DUNIKEY FROM KEYFILE" echo "# MAKE DUNIKEY FROM MEDIAKEY"
~/.zen/astrXbian/zen/tools/natools.py privkey -f ipfs-keystore -k $HOME/.ipfs/keystore/$KEYFILE -F pubsec -o /tmp/${MEDIAKEY}.dunikey ~/.zen/astrXbian/zen/tools/natools.py privkey -f ipfs-keystore -k $HOME/.ipfs/keystore/$KEYFILE -F pubsec -o /tmp/${MEDIAKEY}.dunikey
echo "# PASS CYPHER DUNIKEY" echo "# PASS openssl CYPHER DUNIKEY"
openssl enc -aes-256-cbc -salt -in /tmp/${MEDIAKEY}.dunikey -out "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/dunikey.enc" -k $PASS openssl enc -aes-256-cbc -salt -in /tmp/${MEDIAKEY}.dunikey -out "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/dunikey.enc" -k $PASS
echo "# KEEP/PUBLISH PASS & KEYFILE" echo "# KEEP/PUBLISH PASS & KEYFILE"
@ -50,12 +53,18 @@ else
echo "PubFromDunikey = $PubFromDunikey ($PASS) $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QR.png" echo "PubFromDunikey = $PubFromDunikey ($PASS) $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QR.png"
fi fi
secFromDunikey=$(cat /tmp/${MEDIAKEY}.dunikey | grep "sec" | cut -d ' ' -f2) if [[ -f $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png ]]; then
echo "$secFromDunikey" > /tmp/${MEDIAKEY}.sec echo "## $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png ($PASS) is made"
openssl enc -aes-256-cbc -salt -in /tmp/${MEDIAKEY}.sec -out "/tmp/${MEDIAKEY}.sec.enc" -k $PASS
PASsec=$(cat /tmp/${MEDIAKEY}.sec.enc | base58) else
qrencode -s 6 -o "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png" "$PASsec" secFromDunikey=$(cat /tmp/${MEDIAKEY}.dunikey | grep "sec" | cut -d ' ' -f2)
echo "PASsec = $PASsec ($PASS) $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png" echo "$secFromDunikey" > /tmp/${MEDIAKEY}.sec
openssl enc -aes-256-cbc -salt -in /tmp/${MEDIAKEY}.sec -out "/tmp/${MEDIAKEY}.sec.enc" -k $PASS
PASsec=$(cat /tmp/${MEDIAKEY}.sec.enc | base58)
qrencode -s 6 -o "$HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png" "$PASsec"
echo "## $PASsec ($PASS) => $HOME/.zen/ipfs/.${IPFSNODEID}/KEY/${MEDIAKEY}/QRsec.png"
fi
done done