13 #define WrapSPKI(klass, obj, spki) do { \
15 ossl_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \
17 (obj) = Data_Wrap_Struct((klass), 0, NETSCAPE_SPKI_free, (spki)); \
19 #define GetSPKI(obj, spki) do { \
20 Data_Get_Struct((obj), NETSCAPE_SPKI, (spki)); \
22 ossl_raise(rb_eRuntimeError, "SPKI wasn't initialized!"); \
46 if (!(spki = NETSCAPE_SPKI_new())) {
59 const unsigned char *
p;
65 if (!(spki = NETSCAPE_SPKI_b64_decode(
RSTRING_PTR(buffer), -1))) {
87 if ((len = i2d_NETSCAPE_SPKI(spki,
NULL)) <= 0)
91 if (i2d_NETSCAPE_SPKI(spki, &p) <= 0)
106 if (!(data = NETSCAPE_SPKI_b64_encode(spki))) {
123 if (!(out = BIO_new(BIO_s_mem()))) {
126 if (!NETSCAPE_SPKI_print(out, spki)) {
130 BIO_get_mem_ptr(out, &buf);
144 if (!(pkey = NETSCAPE_SPKI_get_pubkey(spki))) {
157 if (!NETSCAPE_SPKI_set_pubkey(spki,
GetPKeyPtr(key))) {
170 if (spki->spkac->challenge->length <= 0) {
175 return rb_str_new((
const char *)spki->spkac->challenge->data,
176 spki->spkac->challenge->length);
186 if (!ASN1_STRING_set(spki->spkac->challenge,
RSTRING_PTR(str),
204 if (!NETSCAPE_SPKI_sign(spki, pkey, md)) {
220 switch (NETSCAPE_SPKI_verify(spki,
GetPKeyPtr(key))) {