Generate again the certificates

Hi all,

I deleted the ~/.calculate folder in my computer (I deleted all the /home/user to reset my profile) and I can’t open the calculate console.

So, I would like to create a new certificate.

I read http://www.calculate-linux.org/main/en/calculate-console and I did :

cl-console --gen-cert-by 127.0.0.1 --port 8888
su - root
cl-core --sign-client 2

But, when I open the Calculate Console, I have this message :

403: Forbidden

I selected the grop named “all”.

Can you help me to recreate a new certificate ?

Did you execute by user?

cl-console --get-cert-from 127.0.0.1 --port 8888
adrien@calculate ~ $ cl-console --get-cert-from 127.0.0.1 --port 8888
/La requête n'a pas été envoyée ou le fichier /home/adrien/.calculate/client_cert/req_id a été supprimé

:S

Hi,

How can I restart from scratch ?

Thanks

cl-console --gen-cert-by 127.0.0.1 --port 8888
su - root
cl-core --sign-client <number>
exit
cl-console --get-cert-from 127.0.0.1 --port 8888
adrien@calculate ~ $ rm -rf .calculate
adrien@calculate ~ $ cl-console --gen-cert-by 127.0.0.1 --port 8888
/https://127.0.0.1:8888/?wsdl
en cours de connexion...

On ferme. Erreur de connexion.
Erreur : <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:581)>

Si I can’t test others commands

Try to remove /var/calculate/server directory and restart calculate-core by /etc/init.d/calculate-core restart.

adrien@calculate ~ $ rm -rf .calculate
adrien@calculate ~ $ su
Mot de passe :
calculate adrien # mv /var/calculate/server /var/calculate/server-old
calculate adrien # /etc/init.d/calculate-core restart
calculate-core   | * Start calculate core ...
calculate-core   |Generating the server certificate
calculate-core   |.......................+++
calculate-core   |...............................................................................+++
calculate-core   |OK
calculate-core   |Using the root certificate as the server certificate
calculate-core   |OK
calculate-core   |Generating the client certificate
calculate-core   |.+++
calculate-core   |......................................................+++
calculate-core   |Certificate /var/calculate/server/client_certs/1.crt is signed
calculate-core   |Certificate saved. Your certificate ID: 1
calculate-core   | * start-stop-daemon: /usr/sbin/cl-core is already runn [ ok ]
calculate adrien # ^C
calculate adrien # exit
adrien@calculate ~ $ cl-console --gen-cert-by 127.0.0.1 --port 8888
/https://127.0.0.1:8888/?wsdl
en cours de connexion...

On ferme. Erreur de connexion.
Erreur : <urlopen error [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:581)>                                                       
adrien@calculate ~ $

Same error :’(

I think it’s a problem with a module (python?) I made an update yesterday.

Reeeeeeeeee

All is okay, i think :

calculate calculate # /etc/init.d/calculate-core stop
calculate-core   | * Stop calculate core ...                              [ ok ]
calculate calculate # rm -rf server
calculate calculate # exit
adrien@calculate ~ $ rm -rf .calculate
adrien@calculate ~ $ su
Mot de passe :
calculate adrien # /etc/init.d/calculate-core start
calculate-core   | * Start calculate core ...
calculate-core   |Generating the server certificate
calculate-core   |..................................+++
calculate-core   |......+++
calculate-core   |OK
calculate-core   |Using the root certificate as the server certificate
calculate-core   |OK
calculate-core   |Generating the client certificate
calculate-core   |..+++
calculate-core   |.....................+++
calculate-core   |Certificate /var/calculate/server/client_certs/1.crt is signed
calculate-core   |Certificate saved. Your certificate ID: 1               [ ok ]
calculate adrien # exit
adrien@calculate ~ $ cl-console --gen-cert-by 127.0.0.1 --port 8888
/https://127.0.0.1:8888/?wsdl
en cours de connexion...                                                       la clé privée et la requête de certificat ont été créées
Voulez-vous générer une nouvelle clé privée et une requête de signature de certificat ? y/[n]: n
Votre ID de requête = 2.
 Pour soumettre la requête de certificat sur le serveur, veuillez utiliser la commande
cl-core --sign-client ID_CLIENT_REQUEST
adrien@calculate ~ $ su
Mot de passe :
calculate adrien # cl-core --sign-client 2
Veuillez indiquer le groupe du nouveau certificat (nom de grupe ou 'all') : all
Le certificat /var/calculate/server/client_certs/2.crt est signé
calculate adrien # exit
exit
adrien@calculate ~ $ cl-console --get-cert-from 127.0.0.1 --port 8888
/https://127.0.0.1:8888/?wsdl
en cours de connexion...                                                       Le certificat a été sauvegardé. Votre ID de certificat : 2

=================================================
md5sum =  6cb0e64b023a2fbd91f232e03d71d27d
nom de fichier = calculate.local
Certificat ajouté
adrien@calculate ~ $

I made that from SSH, I am going to test the GUI CONSOLE this night.

But it works in console :

adrien@calculate ~ $ cl-console --method update
le client utilise le certificat /home/adrien/.calculate/client_cert/calculate.local.crt
2
Synchronisation des dépôts
 * Synchronisation du dépôt Distros ...                                   [ ok ]
 * Synchronisation du dépôt Calculate ...                                 [ ok ]
 * Synchronisation du dépôt Portage ...
[===========================================================>] 100% Time:0:00:00

I must stop calculate-core before delete all folders.

Thanks.

I tested for a remote server.

But the cl-console in the terminal works perfectly

3 [21:09:46] adrien@superlinux: ~  $ cl-console --host oxygen.linuxtricks.fr --port 8888 --method update
le client utilise le certificat /home/adriencl/.calculate/client_cert/oxygen.linuxtricks.fr.crt
2
Synchronisation des dépôts
 * Synchronisation du dépôt Distros ...                                                                                [ ok ]
 * Synchronisation du dépôt Calculate ...                                                                              [ ok ]
 * Synchronisation du dépôt Portage ...                                                                                [ ok ]
 * Synchronisation terminée
Configuration système
 * Correction des paramètres ...                                                                                       [ ok ]
 * Mise à jour des fichiers de configuration ...                                                                       [ ok ]
Vérification de mises à jour
 * Calcul des dépendances ...
 * Les paquets installés sont à jour  
Recompilation des modules dépendants
 * Mise à jour des fichiers de configuration ...                                                                       [ ok ]
 * Votre système a bien été mis à jour !

What calculate-utilities version is used? Try to run cl-console-gui from terminal - may be error will be more detail.

First on my desktop.
Second on my server

3 [08:18:34] adrien@superlinux: ~  $ eix calculate-util
[I] sys-apps/calculate-utils [1]
     Available versions:  
     (0)    2.2.32-r17 2.2.32-r18{tbz2} 2.2.32-r19{tbz2} **2.2.9999
     (3)    3.3.1.5 3.3.1.7-r1{tbz2} 3.3.2{tbz2} 3.3.2.1{tbz2} 3.3.2.2{tbz2} 3.3.2.3{tbz2} 3.3.2.4-r2{tbz2} 3.3.2.5{tbz2} 3.3.2.6 3.3.2.7{tbz2} **3.3.9999
       {client console desktop minimal pxe qt4 CL="assemble builder client desktop installgui server" PYTHON_TARGETS="python2_7"}
     Installed versions:  2.2.32-r19{tbz2}(17:55:03 02/06/2015)(CL="builder -assemble -server") 3.3.2.7(3){tbz2}(15:25:46 03/06/2015)(client console desktop qt4 -minimal -pxe PYTHON_TARGETS="python2_7")
     Homepage:            http://www.calculate-linux.org/main/en/calculate_utilities
     Description:         A set of Calculate utilities for system installation, build and upgrade

[1] "calculate" /var/lib/layman/calculate
4 [08:18:35] adrien@superlinux: ~  $ ssh oxygen.linuxtricks.fr eix calculate-util
Enter passphrase for key '/home/adriencl/.ssh/id_rsa': 
[I] sys-apps/calculate-utils [1]
     Available versions:  
     (0)    2.2.32-r17 2.2.32-r18 2.2.32-r19{tbz2} **2.2.9999
     (3)    3.3.1.5 3.3.1.7-r1 3.3.2 3.3.2.1 3.3.2.2 3.3.2.3{tbz2} 3.3.2.4-r2{tbz2} 3.3.2.5{tbz2} 3.3.2.6 3.3.2.7{tbz2} **3.3.9999
       {client console desktop minimal pxe qt4 CL="assemble builder client desktop installgui server" PYTHON_TARGETS="python2_7"}
     Installed versions:  2.2.32-r19{tbz2}(17:54:52 02/06/2015)(CL="builder -assemble -server") 3.3.2.7(3){tbz2}(15:25:32 03/06/2015)(-client -console -desktop -minimal -pxe -qt4 PYTHON_TARGETS="python2_7")
     Homepage:            http://www.calculate-linux.org/main/en/calculate_utilities
     Description:         A set of Calculate utilities for system installation, build and upgrade

[1] "calculate" /var/lib/layman/calculate

What version of pyopenssl on desktop and server?

0.14 on both :slight_smile:

Try run cl-console-gui by user on terminal. What is displayed in the terminal at the time of the error?

I have only that :

1 [10:24:32] adrien@superlinux: ~  $ cl-console-gui
https://127.0.0.1:8888/?wsdl
 Nouvelle session
 Votre ID de session est 7131
 Votre ID de certificat est 1
https://oxygen.linuxtricks.fr:8888/?wsdl

When i have the message “data must be a byte string”

Backup and modify on desktop /usr/lib/python2.7/site-packages/OpenSSL/SSL.py by inserting strings marked by “+”.

        if isinstance(buf, _memoryview):
            buf = buf.tobytes()
+       if type(buf) != str:
+           print type(buf), buf.__repr__()
        if not isinstance(buf, bytes):
            raise TypeError("data must be a byte string")

After changes run cl-console-gui in terminal again.

1 [10:54:31] adrien@superlinux: /usr/lib64/python2.7/site-packages/OpenSSL  $ cl-console-gui 
https://127.0.0.1:8888/?wsdl
 Nouvelle session
 Votre ID de session est 1172
 Votre ID de certificat est 1
https://oxygen.linuxtricks.fr:8888/?wsdl
<type 'unicode'> u'GET /?wsdl HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: oxygen.linuxtricks.fr:8888\r\nConnection: close\r\nUser-Agent: None\r\n\r\n

Try to unmask and merge pyopenssl-0.15.1.

It works !

I updated only on the client