xref: /plan9/sys/src/cmd/unix/drawterm/libsec/rsaalloc.c (revision 8ccd4a6360d974db7bd7bbd4f37e7018419ea908)
1*8ccd4a63SDavid du Colombier #include "os.h"
2*8ccd4a63SDavid du Colombier #include <mp.h>
3*8ccd4a63SDavid du Colombier #include <libsec.h>
4*8ccd4a63SDavid du Colombier 
5*8ccd4a63SDavid du Colombier RSApub*
rsapuballoc(void)6*8ccd4a63SDavid du Colombier rsapuballoc(void)
7*8ccd4a63SDavid du Colombier {
8*8ccd4a63SDavid du Colombier 	RSApub *rsa;
9*8ccd4a63SDavid du Colombier 
10*8ccd4a63SDavid du Colombier 	rsa = mallocz(sizeof(*rsa), 1);
11*8ccd4a63SDavid du Colombier 	if(rsa == nil)
12*8ccd4a63SDavid du Colombier 		sysfatal("rsapuballoc");
13*8ccd4a63SDavid du Colombier 	return rsa;
14*8ccd4a63SDavid du Colombier }
15*8ccd4a63SDavid du Colombier 
16*8ccd4a63SDavid du Colombier void
rsapubfree(RSApub * rsa)17*8ccd4a63SDavid du Colombier rsapubfree(RSApub *rsa)
18*8ccd4a63SDavid du Colombier {
19*8ccd4a63SDavid du Colombier 	if(rsa == nil)
20*8ccd4a63SDavid du Colombier 		return;
21*8ccd4a63SDavid du Colombier 	mpfree(rsa->ek);
22*8ccd4a63SDavid du Colombier 	mpfree(rsa->n);
23*8ccd4a63SDavid du Colombier 	free(rsa);
24*8ccd4a63SDavid du Colombier }
25*8ccd4a63SDavid du Colombier 
26*8ccd4a63SDavid du Colombier 
27*8ccd4a63SDavid du Colombier RSApriv*
rsaprivalloc(void)28*8ccd4a63SDavid du Colombier rsaprivalloc(void)
29*8ccd4a63SDavid du Colombier {
30*8ccd4a63SDavid du Colombier 	RSApriv *rsa;
31*8ccd4a63SDavid du Colombier 
32*8ccd4a63SDavid du Colombier 	rsa = mallocz(sizeof(*rsa), 1);
33*8ccd4a63SDavid du Colombier 	if(rsa == nil)
34*8ccd4a63SDavid du Colombier 		sysfatal("rsaprivalloc");
35*8ccd4a63SDavid du Colombier 	return rsa;
36*8ccd4a63SDavid du Colombier }
37*8ccd4a63SDavid du Colombier 
38*8ccd4a63SDavid du Colombier void
rsaprivfree(RSApriv * rsa)39*8ccd4a63SDavid du Colombier rsaprivfree(RSApriv *rsa)
40*8ccd4a63SDavid du Colombier {
41*8ccd4a63SDavid du Colombier 	if(rsa == nil)
42*8ccd4a63SDavid du Colombier 		return;
43*8ccd4a63SDavid du Colombier 	mpfree(rsa->pub.ek);
44*8ccd4a63SDavid du Colombier 	mpfree(rsa->pub.n);
45*8ccd4a63SDavid du Colombier 	mpfree(rsa->dk);
46*8ccd4a63SDavid du Colombier 	mpfree(rsa->p);
47*8ccd4a63SDavid du Colombier 	mpfree(rsa->q);
48*8ccd4a63SDavid du Colombier 	mpfree(rsa->kp);
49*8ccd4a63SDavid du Colombier 	mpfree(rsa->kq);
50*8ccd4a63SDavid du Colombier 	mpfree(rsa->c2);
51*8ccd4a63SDavid du Colombier 	free(rsa);
52*8ccd4a63SDavid du Colombier }
53