Wiki

Clone wiki

Casino2ApiClient / Example_of_Certificate_Generation

For example: Linux, Ubuntu 12.04.4

First of all, you need to create a folder where you will store generated files for casino.

#!console

$ mkdir casino_files

Then, just go to created folder:

#!console

$ cd casino_files

List files:

#!console

$ ls -la

total 8
drwxrwxr-x 2 noname noname 4096 Jun  23 10:30 .
drwxrwxr-x 3 noname noname 4096 Jun  23 10:30 ..

After all of this you need to generate private key and certificate signing request just as we have said before on API wiki-page.

#!console

$ openssl req -out client.csr -new -newkey rsa:2048 -nodes -keyout client.key
* * Attention! You should preinstall openssl component*

#!console

Generating a 2048 bit RSA private key
.............................................................................+++
..............................................................................................+++
writing new private key to 'client.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []: US
State or Province Name (full name) []: New York
Locality Name (eg, city) []: New York
Organization Name (eg, company) []: MyCompany ltd
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:casino2      
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

* You can fill most of fields with whatever you want or just leave it blank.

** The only requirement is the format of Common Name: casino123 where 123 is ID of your casino.

After executing this command, you will see new files in that folder.

#!console
$ ls -la

total 32
drwxrwxr-x  3 noname noname  4096 Jun  23 10:30 .
drwxr-xr-x 80 noname noname 12288 Jun  23 10:22 ..
-rw-rw-r--  1 noname noname   980 Jun  23 10:23 client.csr
-rw-rw-r--  1 noname noname  1704 Jun  23 10:23 client.key

Put the content of client.csr to "API Cert dialog" in your administrator's account and you will get a signed API certificate.

csr.png

Bingo! Now just copy content of the right column and put it to file client.crt. That's your certificate for our API.

And finally, you need to join (concatenate) client.key and client.crt and save it to the new file named apikey.pem. Because our API Client requires to do that.

On Linux you can do it like that:

#!console

$ cat client.key client.crt > apikey.pem

That's all, my congrats, you made your certificate for our API!

As a result you have:

#!console
$ ls -la

total 24
drwxrwxr-x 2 noname noname 4096 Jun  23 12:41 .
drwxrwxr-x 3 noname noname 4096 Jun  23 10:30 ..
-rw-rw-r-- 1 noname noname 3383 Jun  23 12:41 apikey.pem
-rw-rw-r-- 1 noname noname 1680 Jun  23 12:41 client.crt
-rw-rw-r-- 1 noname noname  980 Jun  23 12:41 client.csr
-rw-rw-r-- 1 noname noname 1704 Jun  23 12:41 client.key
For example, apikey.pem contains data something like that:

#!console
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDlAn8S7bCzD2LR
hI2CBWs0//3cZrPdbHvIQ7djJpfyFMEv/TaRJzOPxjXbN32dsGrI0MYofj2L+JPF
aZMb6VMKfy46b2Zahwgvwiag7sYJd9KadcTGRx/lqEBuYrCeNqls8ZSuzGtcjKt7
5IITvaR2LR+AVbiHzlXdYEAecV4074FtF9f6VU4hxgSXfJe877PyAxLmdB5B5dQa
FKrr152y1xeIu9IYeGPUSLdQeqPnPbM1Oqu69491IIqps3fNjZD71dch+xid27w2
d3PUnK64qgVpWVEpcf5iSzLcx6+M/rtKcR8tEeUYgGw9o9EcY4TyXA6kKbVXx5C2
xPtoHogFAgMBAAECggEBAMcmhJtRWHheyPCq9OQ9Eh3lAD7KkV/dF0fwm2n+BeTf
Z6Dz8qAIFy7Qj8UzXGnlIafBlpFgNuWiJd9nECcVoMFgGDN47OmMw/HERRNukYlq
ShtIjvZeo75zspRL/ouXvX6gF0xrOHIjyn07GmNQZ9TdKKfR48c2CDWbnibbL7GX
cTJkZirOhoLMZOwhGauhvN3Nj5hFeFUxd9ih5opjJ4CoscURZO5pOPpvNPy750lA
XkkJeXiOzLmrOrHpEdUxFKVQ0Qi6hy0QHsdbTHj5guobsx80+rH9uJIrDm5OwNUC
/hR7a2kOEYj/67vyUuFrCNVRZ1jN65nufBTe5A1No4ECgYEA9COVA6s8qNn5vkKc
tK2TqI0rBIh7AmB0ycP/9L3/8xL28z1j3b+AxkBurpstaJK0mdSsGXLblUzYqDpz
K4hrjPFLyn0BpLUMyfWGrYF/9+QGT+SAx+qK2g7mohoSjWbyAwEMKeiEkqyvfbYA
dTLb2uuW42jxXMeTIMSPpyOSgOMCgYEA8CK/hVPj9Y2SBot37/B553YLvf2SsRsu
SWR7ogAW+aoCIBBla8vAYupY9WZ04sN30QiyfrlWvi4RBz6metl1e/aI8VzotSIO
SD+MNjl/6bK5I4CkGT3Je+96RHb4MRSj2Rj7vcOlo2L4OSYxBQFBnfNkKOK5jEY0
oDo+j28Dr/cCgYBscc3EVnDYdBKab85Z92xKh4JfPhyd3qih4x0z4p3ppDfrrg5J
NsKFzaLzsJhIBjqQxkY3+6wMMpleiLAV20Ai2CAZbtOnDQEESLqtIYPtYe1n2ZFW
vBk3aT0LLlelVeAUc4eqqe0RlgFR7uFfLds48EMS+s+TrdbtzEIfNQ7jjwKBgCZm
aBn6AEoUCXXid5t26QeKaPZIxlxr7ErwNpUBTqs99HkMJivGuU0YDIGxkJ9ygoZ6
zZBWMvjWhQKTkiuy+oaINf3izZOpjn8fKlzBdSL54YE74QHoT3/yG6s3Gxk+I7Vj
uV3vG121RdxdrxkNymBnu2yOVP2JfIDiz35AUmahAoGBAI/VGXc68gH1z2XWGVFf
KrLDiL+nQ8eK/Wo0Bh3m378CTbS3OGv90SBVRiQOSk/mIJ6xp8YHHPs3p/gMtGH6
Ck2bPsy1F3i9zO42l5FvEeJsW64LhAygXq0ok0CeFBf9nl2s0fqgq7FViY9YAgp8
/pK7P6/tCMuxF0kpQR74F7Ag
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIErDCCApSgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBiTELMAkGA1UEBhMCUlUx
DDAKBgNVBAgMA01TSzEPMA0GA1UEBwwGTW9zY293MRMwEQYDVQQKDApPdXRjb21l
YmV0MR0wGwYDVQQDDBRhcGkuZ2FtaW5nbW9kdWxlLmNvbTEnMCUGCSqGSIb3DQEJ
ARYYb3V0Y29tfWJldC5iaXpAZ21haWwuY29tMB4XDTE0MDYyMzA2MjQ0MFoXDTE1
MDYyMzA2MjQ0MFowVzELMAkGA1UEBhMCUlUxEzARBgNVBAgMClNvbWUtU3RhdGUx
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUgR5IEx0ZDEQMA4GA1UEAwwHY2Fz
aW5vMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOUCfxLtsLMPYtGE
jYIFazT//dxms91se8hDt2Mml/IUwS/9NpEnM4/GNds3fZ2wasjQxih+PYv4k8Vp
kxvpUwp/LjpvZlqaCC/CJqDuxgl30pp1xMZHH+WoQG5isJ42qWzxlK7Ma1yMq3vk
ghO9pHYtH4BVuIfOVd1gQB5xXjTvgW0X1/pVTiHGBJd8l7zvs/IDEuZ0HkHl1BoU
quvXnbLXF4i70hh4Y9RIt1B6o+c9szU6q7r3j3Ugiqmzd82NkPvV1yH7GJ3bvDZ3
c9ScrriqBWlZUSlx/mJLMtzHr4z+u0pxHy0R5RiAbD2j0RxjhPJcDqQptVfHkLbE
+2geiAUCAwEAAaNQME4wHQYDVR0OBBYEFLmrcDPwsR7sT5LGSvoeDog8GgqtMB8G
A1UdIwQYMBaAFMiQsJQUP6gE61mxydNYqzs8iruhMAwGA1UdEwQFMAMBAf8wDQYJ
KoZIhvcNAQEFBQADggIBAEjuYbW3pT/ox4ug2fc6+mn88bYvyeev29fSnjX6/7nB
t2X0GF21FimPclVI6Hnd6HAT5Pf4WyF7R1ffBPcokgpL+LGTI/LQVwzW0CsDW8Y1
0pDZDpzT1riQn7ViUKDmVF6A2/p5zN4XZPgKLnYUDx0FIPn9XkaYDc8PmsZB8wiW
4AyrJVYXZ+OiZRbv8o4BU6T3RzNBjKSiZmBI2B0TDDMENOCkg2djwLa5OANX6TSz
yMF73Xvr7FHXD3FSnQOL+UBCBa6aUsJA56n45yT6bEsrLo0z8sNB0qRR6KkWhX9X
KpwnjMN+95SmAl04QRzRTGTSBftnm6dJJEwPInaJ0AHWKjUe7UPD/ICIy5NYMDjo
Gsrr2VXKv390H5L/NhQSDGLBXQQPBOtY/CF9vsog+bhPU5ioX8nQVMN8abuG9Ur9
DHe7UpBZNmI1MQRZOrzpILC+CL6Y427uxREQcknq4uBkHlzzPTa8+kdaYWTcLIsl
L3O+7+7V5PZu+wcrZ2qmi5M6wUGE9S2PHGl2L509NV83iaevURyDonFGpuVs2Se9
mv2CA7BImrNwq8HtyeoZ1Vj/AY7rK57J4l5kC3Re/oVkTxif1MaVwskSjb9FSFQi
aXKp1hbsxF2OvN5tH6G1bUs80uPfkKiic5Xg/Ibn/Rru0y4IuQ/gfAUnGBK1+sW1
-----END CERTIFICATE-----

Updated