1404 lines
No EOL
44 KiB
HTML
1404 lines
No EOL
44 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<title>
|
|
Class: Salmon::SalmonSlap
|
|
|
|
— Documentation by YARD 0.7.1
|
|
|
|
</title>
|
|
|
|
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
|
|
|
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
|
|
|
<script type="text/javascript" charset="utf-8">
|
|
relpath = '..';
|
|
if (relpath != '') relpath += '/';
|
|
</script>
|
|
|
|
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
|
|
|
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
|
|
|
|
|
</head>
|
|
<body>
|
|
<script type="text/javascript" charset="utf-8">
|
|
if (window.top.frames.main) document.body.className = 'frames';
|
|
</script>
|
|
|
|
<div id="header">
|
|
<div id="menu">
|
|
|
|
<a href="../_index.html">Index (S)</a> »
|
|
<span class='title'><span class='object_link'><a href="../Salmon.html" title="Salmon (module)">Salmon</a></span></span>
|
|
»
|
|
<span class="title">SalmonSlap</span>
|
|
|
|
|
|
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
|
</div>
|
|
|
|
<div id="search">
|
|
|
|
<a id="class_list_link" href="#">Class List</a>
|
|
|
|
<a id="method_list_link" href="#">Method List</a>
|
|
|
|
<a id="file_list_link" href="#">File List</a>
|
|
|
|
</div>
|
|
<div class="clear"></div>
|
|
</div>
|
|
|
|
<iframe id="search_frame"></iframe>
|
|
|
|
<div id="content"><h1>Class: Salmon::SalmonSlap
|
|
|
|
|
|
|
|
</h1>
|
|
|
|
<dl class="box">
|
|
|
|
<dt class="r1">Inherits:</dt>
|
|
<dd class="r1">
|
|
<span class="inheritName">Object</span>
|
|
|
|
<ul class="fullTree">
|
|
<li>Object</li>
|
|
|
|
<li class="next">Salmon::SalmonSlap</li>
|
|
|
|
</ul>
|
|
<a href="#" class="inheritanceTree">show all</a>
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dt class="r2 last">Defined in:</dt>
|
|
<dd class="r2 last">lib/salmon/salmon.rb</dd>
|
|
|
|
</dl>
|
|
<div class="clear"></div>
|
|
|
|
|
|
|
|
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
|
<ul class="summary">
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#aes_key-instance_method" title="#aes_key (instance method)">- (Object) <strong>aes_key</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute aes_key.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#author-instance_method" title="#author (instance method)">- (Object) <strong>author</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute author.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#author_email-instance_method" title="#author_email (instance method)">- (Object) <strong>author_email</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute author_email.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#data_type-instance_method" title="#data_type (instance method)">- (Object) <strong>data_type</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute data_type.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#iv-instance_method" title="#iv (instance method)">- (Object) <strong>iv</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute iv.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#magic_sig-instance_method" title="#magic_sig (instance method)">- (Object) <strong>magic_sig</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute magic_sig.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parsed_data-instance_method" title="#parsed_data (instance method)">- (Object) <strong>parsed_data</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute parsed_data.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#sig-instance_method" title="#sig (instance method)">- (Object) <strong>sig</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Returns the value of attribute sig.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
|
|
<h2>
|
|
Class Method Summary
|
|
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
</h2>
|
|
|
|
<ul class="summary">
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#b64_to_n-class_method" title="b64_to_n (class method)">+ (Object) <strong>b64_to_n</strong>(str) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Decode a string containing URL safe Base64 into an integer Example:.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#build_key-class_method" title="build_key (class method)">+ (Object) <strong>build_key</strong>(n, e) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Take two integers e, n and create a new OpenSSL::PKey::RSA key with them
|
|
Example:.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#create-class_method" title="create (class method)">+ (Object) <strong>create</strong>(user, activity) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#decode64url-class_method" title="decode64url (class method)">+ (Object) <strong>decode64url</strong>(str) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Decode URL-safe-Base64.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parse-class_method" title="parse (class method)">+ (Object) <strong>parse</strong>(xml, user) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#parse_key-class_method" title="parse_key (class method)">+ (Object) <strong>parse_key</strong>(str) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Parse a string containing a magic-public-key into an OpenSSL::PKey::RSA
|
|
key.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
<h2>
|
|
Instance Method Summary
|
|
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
|
</h2>
|
|
|
|
<ul class="summary">
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#decrypted_header-instance_method" title="#decrypted_header (instance method)">- (Object) <strong>decrypted_header</strong> </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#verified_for_key%3F-instance_method" title="#verified_for_key? (instance method)">- (Boolean) <strong>verified_for_key?</strong>(public_key) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'><p>
|
|
Check whether this envelope’s signature can be verified with the
|
|
provided OpenSSL::PKey::RSA public_key.
|
|
</p>
|
|
</div></span>
|
|
|
|
</li>
|
|
|
|
|
|
<li class="public ">
|
|
<span class="summary_signature">
|
|
|
|
<a href="#xml_for-instance_method" title="#xml_for (instance method)">- (Object) <strong>xml_for</strong>(person) </a>
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<span class="summary_desc"><div class='inline'></div></span>
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<div id="instance_attr_details" class="attr_details">
|
|
<h2>Instance Attribute Details</h2>
|
|
|
|
|
|
<span id="aes_key=-instance_method"></span>
|
|
<span id="aes_key-instance_method"></span>
|
|
<div class="method_details first">
|
|
<p class="signature first" id="aes_key-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>aes_key</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute aes_key
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='aes_key identifier id'>aes_key</span>
|
|
<span class='@aes_key ivar id'>@aes_key</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="author=-instance_method"></span>
|
|
<span id="author-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="author-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>author</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute author
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46
|
|
47
|
|
48
|
|
49
|
|
50</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='author identifier id'>author</span>
|
|
<span class='if if kw'>if</span> <span class='@author ivar id'>@author</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
|
|
<span class='@author ivar id'>@author</span> <span class='opasgn op'>||=</span> <span class='Person constant id'>Person</span><span class='dot token'>.</span><span class='by_account_identifier identifier id'>by_account_identifier</span> <span class='@author_email ivar id'>@author_email</span>
|
|
<span class='raise identifier id'>raise</span> <span class='string val'>"did you remember to async webfinger?"</span> <span class='if if_mod kw'>if</span> <span class='@author ivar id'>@author</span><span class='dot token'>.</span><span class='nil? fid id'>nil?</span>
|
|
<span class='end end kw'>end</span>
|
|
<span class='@author ivar id'>@author</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="author_email=-instance_method"></span>
|
|
<span id="author_email-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="author_email-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>author_email</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute author_email
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='author_email identifier id'>author_email</span>
|
|
<span class='@author_email ivar id'>@author_email</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="data_type=-instance_method"></span>
|
|
<span id="data_type-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="data_type-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>data_type</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute data_type
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='data_type identifier id'>data_type</span>
|
|
<span class='@data_type ivar id'>@data_type</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="iv=-instance_method"></span>
|
|
<span id="iv-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="iv-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>iv</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute iv
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='iv identifier id'>iv</span>
|
|
<span class='@iv ivar id'>@iv</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="magic_sig=-instance_method"></span>
|
|
<span id="magic_sig-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="magic_sig-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>magic_sig</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute magic_sig
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='magic_sig identifier id'>magic_sig</span>
|
|
<span class='@magic_sig ivar id'>@magic_sig</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="parsed_data=-instance_method"></span>
|
|
<span id="parsed_data-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="parsed_data-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>parsed_data</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute parsed_data
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='parsed_data identifier id'>parsed_data</span>
|
|
<span class='@parsed_data ivar id'>@parsed_data</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<span id="sig=-instance_method"></span>
|
|
<span id="sig-instance_method"></span>
|
|
<div class="method_details ">
|
|
<p class="signature " id="sig-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>sig</strong>
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Returns the value of attribute sig
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
44
|
|
45
|
|
46</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 44</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='sig identifier id'>sig</span>
|
|
<span class='@sig ivar id'>@sig</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div id="class_method_details" class="method_details_list">
|
|
<h2>Class Method Details</h2>
|
|
|
|
|
|
<div class="method_details first">
|
|
<p class="signature first" id="b64_to_n-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>b64_to_n</strong>(str)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Decode a string containing URL safe Base64 into an integer Example:
|
|
</p>
|
|
<pre class="code">
|
|
<span class='MagicSig constant id'>MagicSig</span><span class='dot token'>.</span><span class='b64_to_n identifier id'>b64_to_n</span><span class='lparen token'>(</span><span class='string val'>'AQAB'</span><span class='rparen token'>)</span>
|
|
<span class='comment val'># -> 645537</span>
|
|
</pre>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
153
|
|
154
|
|
155
|
|
156</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 153</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='b64_to_n identifier id'>b64_to_n</span><span class='lparen token'>(</span><span class='str identifier id'>str</span><span class='rparen token'>)</span>
|
|
<span class='packed identifier id'>packed</span> <span class='assign token'>=</span> <span class='decode64url identifier id'>decode64url</span><span class='lparen token'>(</span><span class='str identifier id'>str</span><span class='rparen token'>)</span>
|
|
<span class='packed identifier id'>packed</span><span class='dot token'>.</span><span class='unpack identifier id'>unpack</span><span class='lparen token'>(</span><span class='string val'>'B*'</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='integer val'>0</span><span class='rbrack token'>]</span><span class='dot token'>.</span><span class='to_i identifier id'>to_i</span><span class='lparen token'>(</span><span class='integer val'>2</span><span class='rparen token'>)</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="build_key-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>build_key</strong>(n, e)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Take two integers e, n and create a new OpenSSL::PKey::RSA key with them
|
|
Example:
|
|
</p>
|
|
<pre class="code">
|
|
<span class='n identifier id'>n</span> <span class='assign token'>=</span> <span class='integer val'>9487834027867356975347184933768917275269369900665861930617802608089634337052392076689226301419587057117740995382286148368168197915234368486155306558161867</span>
|
|
<span class='e identifier id'>e</span> <span class='assign token'>=</span> <span class='integer val'>65537</span>
|
|
<span class='key identifier id'>key</span> <span class='assign token'>=</span> <span class='MagicSig constant id'>MagicSig</span><span class='dot token'>.</span><span class='build_key identifier id'>build_key</span><span class='lparen token'>(</span><span class='n identifier id'>n</span><span class='comma token'>,</span><span class='e identifier id'>e</span><span class='rparen token'>)</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='public_encrypt identifier id'>public_encrypt</span><span class='lparen token'>(</span><span class='dot3 op'>...</span><span class='rparen token'>)</span> <span class='comment val'># for sending to strangers</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='public_decrypt identifier id'>public_decrypt</span><span class='lparen token'>(</span><span class='dot3 op'>...</span><span class='rparen token'>)</span> <span class='comment val'># very rarely used</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='verify identifier id'>verify</span><span class='lparen token'>(</span><span class='dot3 op'>...</span><span class='rparen token'>)</span> <span class='comment val'># for verifying signatures</span>
|
|
</pre>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
180
|
|
181
|
|
182
|
|
183
|
|
184
|
|
185</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 180</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='build_key identifier id'>build_key</span><span class='lparen token'>(</span><span class='n identifier id'>n</span><span class='comma token'>,</span><span class='e identifier id'>e</span><span class='rparen token'>)</span>
|
|
<span class='key identifier id'>key</span> <span class='assign token'>=</span> <span class='OpenSSL constant id'>OpenSSL</span><span class='colon2 op'>::</span><span class='PKey constant id'>PKey</span><span class='colon2 op'>::</span><span class='RSA constant id'>RSA</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='n identifier id'>n</span> <span class='assign token'>=</span> <span class='n identifier id'>n</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='e identifier id'>e</span> <span class='assign token'>=</span> <span class='e identifier id'>e</span>
|
|
<span class='key identifier id'>key</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="create-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>create</strong>(user, activity)
|
|
|
|
|
|
|
|
</p><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
47
|
|
48
|
|
49
|
|
50
|
|
51
|
|
52
|
|
53
|
|
54
|
|
55</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 47</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='create identifier id'>create</span><span class='lparen token'>(</span><span class='user identifier id'>user</span><span class='comma token'>,</span> <span class='activity identifier id'>activity</span><span class='rparen token'>)</span>
|
|
<span class='salmon identifier id'>salmon</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
|
|
<span class='salmon identifier id'>salmon</span><span class='dot token'>.</span><span class='author identifier id'>author</span> <span class='assign token'>=</span> <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='person identifier id'>person</span>
|
|
<span class='aes_key_hash identifier id'>aes_key_hash</span> <span class='assign token'>=</span> <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='person identifier id'>person</span><span class='dot token'>.</span><span class='gen_aes_key identifier id'>gen_aes_key</span>
|
|
<span class='salmon identifier id'>salmon</span><span class='dot token'>.</span><span class='aes_key identifier id'>aes_key</span> <span class='assign token'>=</span> <span class='aes_key_hash identifier id'>aes_key_hash</span><span class='lbrack token'>[</span><span class='string val'>'key'</span><span class='rbrack token'>]</span>
|
|
<span class='salmon identifier id'>salmon</span><span class='dot token'>.</span><span class='iv identifier id'>iv</span> <span class='assign token'>=</span> <span class='aes_key_hash identifier id'>aes_key_hash</span><span class='lbrack token'>[</span><span class='string val'>'iv'</span><span class='rbrack token'>]</span>
|
|
<span class='salmon identifier id'>salmon</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span> <span class='assign token'>=</span> <span class='MagicSigEnvelope constant id'>MagicSigEnvelope</span><span class='dot token'>.</span><span class='create identifier id'>create</span><span class='lparen token'>(</span><span class='user identifier id'>user</span> <span class='comma token'>,</span> <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='person identifier id'>person</span><span class='dot token'>.</span><span class='aes_encrypt identifier id'>aes_encrypt</span><span class='lparen token'>(</span><span class='activity identifier id'>activity</span><span class='comma token'>,</span> <span class='aes_key_hash identifier id'>aes_key_hash</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
|
<span class='salmon identifier id'>salmon</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="decode64url-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>decode64url</strong>(str)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Decode URL-safe-Base64. This implements
|
|
</p>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
123
|
|
124
|
|
125
|
|
126
|
|
127
|
|
128
|
|
129
|
|
130
|
|
131
|
|
132
|
|
133</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 123</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='decode64url identifier id'>decode64url</span><span class='lparen token'>(</span><span class='str identifier id'>str</span><span class='rparen token'>)</span>
|
|
<span class='comment val'># remove whitespace</span>
|
|
<span class='sans_whitespace identifier id'>sans_whitespace</span> <span class='assign token'>=</span> <span class='str identifier id'>str</span><span class='dot token'>.</span><span class='gsub identifier id'>gsub</span><span class='lparen token'>(</span><span class='regexp val'>/\s/</span><span class='comma token'>,</span> <span class='string val'>''</span><span class='rparen token'>)</span>
|
|
<span class='comment val'># pad to a multiple of 4</span>
|
|
<span class='string identifier id'>string</span> <span class='assign token'>=</span> <span class='sans_whitespace identifier id'>sans_whitespace</span> <span class='plus op'>+</span> <span class='string val'>'='</span> <span class='mult op'>*</span> <span class='lparen token'>(</span><span class='lparen token'>(</span><span class='integer val'>4</span> <span class='minus op'>-</span> <span class='sans_whitespace identifier id'>sans_whitespace</span><span class='dot token'>.</span><span class='size identifier id'>size</span><span class='rparen token'>)</span> <span class='mod op'>%</span> <span class='integer val'>4</span><span class='rparen token'>)</span>
|
|
<span class='comment val'># convert to standard Base64</span>
|
|
<span class='comment val'># string = padded.tr('-','+').tr('_','/')</span>
|
|
|
|
<span class='comment val'># Base64.decode64(string)</span>
|
|
<span class='Base64 constant id'>Base64</span><span class='dot token'>.</span><span class='urlsafe_decode64 identifier id'>urlsafe_decode64</span> <span class='string identifier id'>string</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="parse-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>parse</strong>(xml, user)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
<h3>Raises:</h3>
|
|
<ul class="raise">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>ArgumentError</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
57
|
|
58
|
|
59
|
|
60
|
|
61
|
|
62
|
|
63
|
|
64
|
|
65
|
|
66
|
|
67
|
|
68
|
|
69
|
|
70
|
|
71
|
|
72
|
|
73
|
|
74
|
|
75
|
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
|
81
|
|
82
|
|
83
|
|
84
|
|
85
|
|
86</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 57</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='comma token'>,</span> <span class='user identifier id'>user</span><span class='rparen token'>)</span>
|
|
<span class='slap identifier id'>slap</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='new identifier id'>new</span>
|
|
<span class='doc identifier id'>doc</span> <span class='assign token'>=</span> <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='xml identifier id'>xml</span><span class='rparen token'>)</span>
|
|
|
|
<span class='sig_doc identifier id'>sig_doc</span> <span class='assign token'>=</span> <span class='doc identifier id'>doc</span><span class='dot token'>.</span><span class='search identifier id'>search</span><span class='lparen token'>(</span><span class='string val'>'entry'</span><span class='rparen token'>)</span>
|
|
|
|
<span class='comment val'>### Header ##</span>
|
|
<span class='decrypted_header identifier id'>decrypted_header</span> <span class='assign token'>=</span> <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='decrypt identifier id'>decrypt</span><span class='lparen token'>(</span><span class='doc identifier id'>doc</span><span class='dot token'>.</span><span class='search identifier id'>search</span><span class='lparen token'>(</span><span class='string val'>'encrypted_header'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span><span class='rparen token'>)</span>
|
|
<span class='header_doc identifier id'>header_doc</span> <span class='assign token'>=</span> <span class='Nokogiri constant id'>Nokogiri</span><span class='colon2 op'>::</span><span class='XML constant id'>XML</span><span class='lparen token'>(</span><span class='decrypted_header identifier id'>decrypted_header</span><span class='rparen token'>)</span>
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='author_email identifier id'>author_email</span><span class='assign token'>=</span> <span class='header_doc identifier id'>header_doc</span><span class='dot token'>.</span><span class='search identifier id'>search</span><span class='lparen token'>(</span><span class='string val'>'uri'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span><span class='dot token'>.</span><span class='split identifier id'>split</span><span class='lparen token'>(</span><span class='string val'>"acct:"</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='last identifier id'>last</span>
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='aes_key identifier id'>aes_key</span> <span class='assign token'>=</span> <span class='header_doc identifier id'>header_doc</span><span class='dot token'>.</span><span class='search identifier id'>search</span><span class='lparen token'>(</span><span class='string val'>'aes_key'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span>
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='iv identifier id'>iv</span> <span class='assign token'>=</span> <span class='header_doc identifier id'>header_doc</span><span class='dot token'>.</span><span class='search identifier id'>search</span><span class='lparen token'>(</span><span class='string val'>'iv'</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='text identifier id'>text</span>
|
|
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span> <span class='assign token'>=</span> <span class='MagicSigEnvelope constant id'>MagicSigEnvelope</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span> <span class='sig_doc identifier id'>sig_doc</span>
|
|
|
|
<span class='if if kw'>if</span> <span class='string val'>'base64url'</span> <span class='eq op'>==</span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='encoding identifier id'>encoding</span>
|
|
|
|
<span class='key_hash identifier id'>key_hash</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='string val'>'key'</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='aes_key identifier id'>aes_key</span><span class='comma token'>,</span> <span class='string val'>'iv'</span> <span class='assign token'>=</span><span class='gt op'>></span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='iv identifier id'>iv</span><span class='rbrace token'>}</span>
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='parsed_data identifier id'>parsed_data</span> <span class='assign token'>=</span> <span class='user identifier id'>user</span><span class='dot token'>.</span><span class='aes_decrypt identifier id'>aes_decrypt</span><span class='lparen token'>(</span><span class='decode64url identifier id'>decode64url</span><span class='lparen token'>(</span><span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='data identifier id'>data</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='key_hash identifier id'>key_hash</span><span class='rparen token'>)</span>
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='sig identifier id'>sig</span> <span class='assign token'>=</span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='sig identifier id'>sig</span>
|
|
<span class='else else kw'>else</span>
|
|
<span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>"Magic Signature data must be encoded with base64url, was #{slap.magic_sig.encoding}"</span>
|
|
<span class='end end kw'>end</span>
|
|
|
|
<span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='data_type identifier id'>data_type</span> <span class='assign token'>=</span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='data_type identifier id'>data_type</span>
|
|
|
|
<span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>"Magic Signature data must be signed with RSA-SHA256, was #{slap.magic_sig.alg}"</span> <span class='unless unless_mod kw'>unless</span> <span class='string val'>'RSA-SHA256'</span> <span class='eq op'>==</span> <span class='slap identifier id'>slap</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='alg identifier id'>alg</span>
|
|
|
|
<span class='slap identifier id'>slap</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="parse_key-class_method">
|
|
|
|
+ (<tt>Object</tt>) <strong>parse_key</strong>(str)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Parse a string containing a magic-public-key into an OpenSSL::PKey::RSA
|
|
key. Example:
|
|
</p>
|
|
<pre class="code">
|
|
<span class='key identifier id'>key</span> <span class='assign token'>=</span> <span class='MagicSig constant id'>MagicSig</span><span class='dot token'>.</span><span class='parse_key identifier id'>parse_key</span><span class='lparen token'>(</span><span class='string val'>'RSA.mVgY8RN6URBTstndvmUUPb4UZTdwvwmddSKE5z_jvKUEK6yk1u3rrC9yN8k6FilGj9K0eeUPe2hf4Pj-5CmHww.AQAB'</span><span class='rparen token'>)</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='n identifier id'>n</span>
|
|
<span class='comment val'># -> 8031283789075196565022891546563591368344944062154100509645398892293433370859891943306439907454883747534493461257620351548796452092307094036643522661681091</span>
|
|
<span class='key identifier id'>key</span><span class='dot token'>.</span><span class='e identifier id'>e</span>
|
|
<span class='comment val'># -> 65537</span>
|
|
</pre>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
166
|
|
167
|
|
168
|
|
169</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 166</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='parse_key identifier id'>parse_key</span><span class='lparen token'>(</span><span class='str identifier id'>str</span><span class='rparen token'>)</span>
|
|
<span class='n identifier id'>n</span><span class='comma token'>,</span><span class='e identifier id'>e</span> <span class='assign token'>=</span> <span class='str identifier id'>str</span><span class='dot token'>.</span><span class='match identifier id'>match</span><span class='lparen token'>(</span><span class='regexp val'>/^RSA.([^.]*).([^.]*)$/</span><span class='rparen token'>)</span><span class='lbrack token'>[</span><span class='float val'>1</span><span class='dot2 op'>..</span><span class='integer val'>2</span><span class='rbrack token'>]</span>
|
|
<span class='build_key identifier id'>build_key</span><span class='lparen token'>(</span><span class='b64_to_n identifier id'>b64_to_n</span><span class='lparen token'>(</span><span class='n identifier id'>n</span><span class='rparen token'>)</span><span class='comma token'>,</span><span class='b64_to_n identifier id'>b64_to_n</span><span class='lparen token'>(</span><span class='e identifier id'>e</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="instance_method_details" class="method_details_list">
|
|
<h2>Instance Method Details</h2>
|
|
|
|
|
|
<div class="method_details first">
|
|
<p class="signature first" id="decrypted_header-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>decrypted_header</strong>
|
|
|
|
|
|
|
|
</p><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
100
|
|
101
|
|
102</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 100</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='decrypted_header identifier id'>decrypted_header</span>
|
|
<span class='header identifier id'>header</span> <span class='assign token'>=</span><span class='string val'>" <decrypted_header>\n <iv>\#{iv}</iv>\n <aes_key>\#{aes_key}</aes_key>\n <author>\n <name>\#{@author.name}</name>\n <uri>acct:\#{@author.diaspora_handle}</uri>\n </author>\n </decrypted_header>\n"</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="verified_for_key?-instance_method">
|
|
|
|
- (<tt>Boolean</tt>) <strong>verified_for_key?</strong>(public_key)
|
|
|
|
|
|
|
|
</p><div class="docstring">
|
|
<div class="discussion">
|
|
<p>
|
|
Check whether this envelope’s signature can be verified with the
|
|
provided OpenSSL::PKey::RSA public_key. Example:
|
|
</p>
|
|
<pre class="code">
|
|
<span class='env identifier id'>env</span><span class='dot token'>.</span><span class='verified_for_key? fid id'>verified_for_key?</span> <span class='OpenSSL constant id'>OpenSSL</span><span class='colon2 op'>::</span><span class='PKey constant id'>PKey</span><span class='colon2 op'>::</span><span class='RSA constant id'>RSA</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='File constant id'>File</span><span class='dot token'>.</span><span class='open identifier id'>open</span><span class='lparen token'>(</span><span class='string val'>'public_key.pem'</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
|
<span class='comment val'># -> true</span>
|
|
</pre>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="tags">
|
|
<h3>Returns:</h3>
|
|
<ul class="return">
|
|
|
|
<li>
|
|
|
|
|
|
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
141
|
|
142
|
|
143
|
|
144
|
|
145
|
|
146</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 141</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='verified_for_key? fid id'>verified_for_key?</span><span class='lparen token'>(</span><span class='public_key identifier id'>public_key</span><span class='rparen token'>)</span>
|
|
<span class='signature identifier id'>signature</span> <span class='assign token'>=</span> <span class='Base64 constant id'>Base64</span><span class='dot token'>.</span><span class='urlsafe_decode64 identifier id'>urlsafe_decode64</span><span class='lparen token'>(</span><span class='self self kw'>self</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='sig identifier id'>sig</span><span class='rparen token'>)</span>
|
|
<span class='signed_data identifier id'>signed_data</span> <span class='assign token'>=</span> <span class='self self kw'>self</span><span class='dot token'>.</span><span class='magic_sig identifier id'>magic_sig</span><span class='dot token'>.</span><span class='signable_string identifier id'>signable_string</span><span class='comment val'># Base64.urlsafe_decode64(self.magic_sig.signable_string)</span>
|
|
|
|
<span class='public_key identifier id'>public_key</span><span class='dot token'>.</span><span class='verify identifier id'>verify</span><span class='lparen token'>(</span><span class='OpenSSL constant id'>OpenSSL</span><span class='colon2 op'>::</span><span class='Digest constant id'>Digest</span><span class='colon2 op'>::</span><span class='SHA256 constant id'>SHA256</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='comma token'>,</span> <span class='signature identifier id'>signature</span><span class='comma token'>,</span> <span class='signed_data identifier id'>signed_data</span> <span class='rparen token'>)</span>
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="method_details ">
|
|
<p class="signature " id="xml_for-instance_method">
|
|
|
|
- (<tt>Object</tt>) <strong>xml_for</strong>(person)
|
|
|
|
|
|
|
|
</p><table class="source_code">
|
|
<tr>
|
|
<td>
|
|
<pre class="lines">
|
|
|
|
|
|
88
|
|
89
|
|
90
|
|
91</pre>
|
|
</td>
|
|
<td>
|
|
<pre class="code"><span class="info file"># File 'lib/salmon/salmon.rb', line 88</span>
|
|
|
|
<span class='def def kw'>def</span> <span class='xml_for identifier id'>xml_for</span> <span class='person identifier id'>person</span>
|
|
<span class='xml identifier id'>xml</span> <span class='assign token'>=</span><span class='string val'>" <?xml version='1.0' encoding='UTF-8'?>\n <entry xmlns='http://www.w3.org/2005/Atom'>\n <encrypted_header>\#{person.encrypt(decrypted_header)}</encrypted_header>\n \#{@magic_sig.to_xml}\n </entry>\n"</span>
|
|
|
|
<span class='end end kw'>end</span>
|
|
</pre>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="footer">
|
|
Generated on Mon Jun 13 15:59:17 2011 by
|
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
0.7.1 (ruby-1.8.7).
|
|
</div>
|
|
|
|
</body>
|
|
</html> |