ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalClass[iI" SPKI:ETI"OpenSSL::Netscape::SPKI;TI" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"NA Simple Public Key Infrastructure implementation (pronounced "spooky"). ;TI" The structure is defined as;To:RDoc::Markup::Verbatim;[I"*PublicKeyAndChallenge ::= SEQUENCE { ;TI"" spki SubjectPublicKeyInfo, ;TI" challenge IA5STRING ;TI"} ;TI" ;TI"0SignedPublicKeyAndChallenge ::= SEQUENCE { ;TI"4 publicKeyAndChallenge PublicKeyAndChallenge, ;TI"/ signatureAlgorithm AlgorithmIdentifier, ;TI" signature BIT STRING ;TI"} ;T: @format0o; ;[ I"Owhere the definitions of SubjectPublicKeyInfo and AlgorithmIdentifier can ;TI"Lbe found in RFC5280. SPKI is typically used in browsers for generating ;TI"Ka public/private key pair and a subsequent certificate request, using ;TI"the HTML element.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI" Examples;T@$S; ;i;I"Creating an SPKI;To; ;[ I"'key = OpenSSL::PKey::RSA.new 2048 ;TI"(spki = OpenSSL::Netscape::SPKI.new ;TI"(spki.challenge = "RandomChallenge" ;TI"&spki.public_key = key.public_key ;TI"3spki.sign(key, OpenSSL::Digest.new('SHA256')) ;TI"J#send a request containing this to a server generating a certificate ;T; 0S; ;i;I"Verifying an SPKI request;To; ;[ I"request = #... ;TI"0spki = OpenSSL::Netscape::SPKI.new request ;TI")unless spki.verify(spki.public_key) ;TI" # signature is invalid ;TI" end ;TI" #proceed;T; 0: @fileI"ext/openssl/ossl_ns_spki.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I" class;T[[: public[[I"new;TI"ext/openssl/ossl_ns_spki.c;T[:protected[[: private[[I" instance;T[[;[[I"challenge;T@G[I"challenge=;T@G[I"public_key;T@G[I"public_key=;T@G[I" sign;T@G[I" to_der;T@G[I" to_pem;T@G[I" to_s;T@G[I" to_text;T@G[I" verify;T@G[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@;I"OpenSSL::Netscape;TcRDoc::NormalModule