[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
How to access user certificate in auth_pubkey_function
[Thread Prev] | [Thread Next]
[Date Prev] | [Date Next]
- Subject: How to access user certificate in auth_pubkey_function
- From: Chidanand Gangur <chidanand.gangur@xxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Sat, 6 Sep 2025 08:26:39 +0530
- To: libssh@xxxxxxxxxx
Hello Everyone,
I am trying to implement a SSH proxy. In the process of learning I am
trying out libssh*/examples/ssh_server.c.
I was able to complie and run the server.
I am trying public key based authentication.
On the client side I am connecting using following command:
ssh -p 2222 -vv -i ./id_rsa user@192.168.64.2
I am running ssh_server like this ( I have done some minor modifications
w.r.t argp and have retained only pthread based solution)
./ssh_server -a ./id_rsa.pub -r ./ssh_host_rsa_key -p 2222 -v 0.0.0.0
With this I am able to login successfully on the server.
The second case which I tried was to sign the user key with CA. This
resulted me with id_rsa-cert.pub on client side.
I tried the same exercise to connect to the server.
On server side in auth_publickey function I added 2 prints to print
1. ssh_key_type
2. ssh_key_is_public
The first function ssh_key_type resulted as SSH_KEYTYPE_RSA value 2 and
the second function returned as 1 (is_public ).
I was expecting it to be print SSH_KEYTYPE_RSA_CERT01 and 1.
My Question:
In auth_publickey I want to access the user certificate and then verify
the CA signature. Instead of verifying the authorisedKeys I want to
verify it against CA pub key.
A functionality similar to Configuring TrustedUserCAKeys in openssh server.
How can I get hold of the user certificate ?
In ssh_key_struct I see there is a member variable
ssh_buffer cert;
*enum* ssh_keytypes_e cert_type;
};
I did not find any function to access the ssh_key->cert.
Please point me to some code reference or documentation.
Thanks,
Chidanand
| Re: How to access user certificate in auth_pubkey_function | Jakub Jelen <jjelen@xxxxxxxxxx> |