Skip to content

Instantly share code, notes, and snippets.

@TheBloke
Last active October 5, 2018 03:58
Show Gist options
  • Save TheBloke/7108394e7ae3c47c7eb8071a7563539e to your computer and use it in GitHub Desktop.
Save TheBloke/7108394e7ae3c47c7eb8071a7563539e to your computer and use it in GitHub Desktop.
#include <fcntl.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFFSIZE 512
#define err(mess) { fprintf(stderr,"Error: %s.", mess); exit(1); }
int main()
{
int fd, n;
char buf[BUFFSIZE];
mkfifo("test_key", 0666);
mkfifo("test_key.pub", 0666);
if ( (fd = open("test_key", O_RDONLY)) < 0)
err("open")
while( (n = read(fd, buf, BUFFSIZE) ) > 0) {
if ( write(STDOUT_FILENO, buf, n) != n) {
exit(1);
}
}
close(fd);
if ( (fd = open("test_key.pub", O_RDONLY)) < 0)
err("open")
while( (n = read(fd, buf, BUFFSIZE) ) > 0) {
if ( write(STDOUT_FILENO, buf, n) != n) {
exit(1);
}
}
close(fd);
}
@TheBloke
Copy link
Author

TheBloke commented Oct 5, 2018

Terminal 1:

tomj@Marvin ~ $ ssh-keygen -t rsa -f ./test_key -N ""                                                                                                                                                                        
Generating public/private rsa key pair.
./test_key already exists.
Overwrite (y/n)? y
Your identification has been saved in ./test_key.
Your public key has been saved in ./test_key.pub.
The key fingerprint is:
SHA256:/7RHYCa7BCBTNJ+8/LV5v1cJM9z2rw4JbFL59cpbbzc [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|     o+          |
|    o .+ . .     |
|     o .+ o . o  |
|       ..+..+* + |
|        S.+=o.= +|
|         =oo =.oo|
|         .o.*.+ +|
|          .o +.E*|
|            oo++B|
+----[SHA256]-----+
tomj@Marvin ~ $

Terminal 2:

tomj@Marvin ~ $ gcc -o fiforead fiforead.c
tomj@Marvin ~ $ ./fiforead                                                                                                                                                                                                   
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAnmed5wb8yK8EQ+n98sHPHI+3vyQ2fazhFBCDPVkpUL9/Iw5J
FcDZEsejvVVj3Idmew5y9MK71AG+WtTZ6hubEW8i8NarD/cifIMcV2H+h01Yo9uY
1P6enfnZTVhkPTUCtPGTxute58h2vsRjZ/WCHYW3uabbh3wnoyERzfUKuz3SJNxU
nRdnvSJOoI3kNUpPr+zMR1l3T4GUdXDtosUjooXLEPGPxsluMngbbwCRXjhonayw
N/4JDN8vzsPyMkl9RQVp9BnsrLY6a4DUFNMhFkiapxd7Zlkgj1gVydfMaBULT0SL
6GB2U201VuRPzDcYafUW5v7qMQlR7LE5I3tMXwIDAQABAoIBACTi4g0zPlgJEUgz
S9RktzLicJpM93dqc3s1oSn/AjTwcs2Z/QDYyHOsE3/6S2fGC+Ip6jD+y7hBs675
E8mFJiX4KD3G70yncttluIrMofWl2DdH4p3usMb+sFBnfegW2QuDmbLfilkVADnK
B4/kxqjTQ4YyyboR+jTtdXTtU9Nn4x2dtNRI+E4tSBenMVSq27kIeUeb8ma0rX5p
aalt5EnJN5gx9/Ka5Fk6mT8DmYXijetBMPM47BhA2zhx3vRohRZHITCxxx1Wo31H
gL9YJXdIQg/U0OhS0K8e1EhRaqu34tZagd1DJImvo31dFGuPbPvQ+5d2mvq351zY
KnoYNWkCgYEAzy5QDM/jzKQC5meQEY6idKtgXp6If3YoUeY6IphtqoURRn28oziV
VPNWbe4pz2d0NWG+bIv96nkqij6D/wcVrM7qZ6AiTrI9quuHppm/yjxsLUez1Zk7
Jx3olY5baAteVQAWjM89sqFjnm6mrzNDa5h+6s6/bQOHGnsGP7t5knMCgYEAw7sA
HqLqbKEoBlwQEvfGfxxMYIGxlRW8kDmlvYXHLl88xNUSZi4JTpJV2yu1nlN/AecU
/m92YFkUHvDWZW8U/Z9Z34X05x1Q+ZXDkKOa7ttgGoDw3Lg0HfI0+9OWgrSasF3z
1asX1KQPpGktz/VvD69KvEiFxJUlLqiDNm23J2UCgYBs+cdRdeg0s/BykPbOxV/e
TmaaXnkd0mDS826Q0+ybTPMRSQH4OMMTtAs6N5P2bExL5+Xp4pjkxGcD4G49rtRP
2WaiqzBghJC7XrgzgZvIHJAqIRUOvVLH+ItmX0LlL1WnECzMVBX357wmkb1LWoOU
DNp1V9qI1Nozq5JV457G0QKBgDJbQRugtIlAKQkB1IzcvG/leuz1URfXIM1GV5Lc
ATO4Au1tGC+7tl9FnNsncrGKL8nwhuEzEhSVtmyDb9Vm79KUlc3BLBHt4/BijI8A
2JKNVDtdYxqWNapiryj+9eEo0AeCFIKrYxUtJG0bNlMjhPBXG/Y2/ltmN8u6RQ/S
yGVVAoGAXwbi4hMq//0XtDrz4ItH+jkRkBG7g6lR6GA203bXP58bMXEhP9cxUj0u
9cMW3KYFhUSM5fLWYzO6CsBmOmXXv0bdQuoFxdUCUvI1EOPF6t6Gt9jz0J1Lvw2Y
VgGDYwSdExFX0xO3TtU9yeQmaxeFv8wNZfOST/rsRCiCG1oCwUM=
-----END RSA PRIVATE KEY-----
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeZ53nBvzIrwRD6f3ywc8cj7e/JDZ9rOEUEIM9WSlQv38jDkkVwNkSx6O9VWPch2Z7DnL0wrvUAb5a1NnqG5sRbyLw1qsP9yJ8gxxXYf6HTVij25jU/p6d+dlNWGQ9NQK08ZPG617nyHa+xGNn9YIdhbe5ptuHfCejIRHN9Qq7PdIk3FSdF2e9Ik6gjeQ1Sk+v7MxHWXdPgZR1cO2ixSOihcsQ8Y/GyW4yeBtvAJFeOGidrLA3/gkM3y/Ow/IySX1FBWn0GeystjprgNQU0yEWSJqnF3tmWSCPWBXJ18xoFQtPRIvoYHZTbTVW5E/MNxhp9Rbm/uoxCVHssTkje0xf [email protected]
tomj@Marvin ~ $

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment