<div dir="ltr"><div class="gmail_default" style="font-size:small">Hi Rob,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Yeah I'm still working on Croquet at 3D Immersive Collaboration Corp <a href="http://www.3dicc.com">www.3dicc.com</a>.  We renamed our product from Immersive Terf, before that Teleplace, and  before that Qwaq, to Virtend.  As in you can virtually attend a meeting.  </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">UDP can be encrypted but since the stream itself is not guaranteed you would need to encrypt each datagram.  I believe there is a good method for this using DTLS.  <a href="https://www.rfc-editor.org/rfc/rfc4347.txt">https://www.rfc-editor.org/rfc/rfc4347.txt</a>. </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">All the best,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Ron Tetielbaum</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 9, 2022 at 5:03 PM rabbit <<a href="mailto:rabbit@callistohouse.org">rabbit@callistohouse.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">HAH HAH HAH HAH!!!<div><br></div><div>Yessir, it was a long time ago. According to your methods in ASN1ExplicitContextValue, it was 16 years ago, yesterday! .  ..   ….   ‘…^,^</div><div><br></div><div>I am still undecided. Should Crypto ASN1 type structures (DSAPublicKey, and such) be of an application variety? But WrapperPrimitive perhaps, not constructed.<br><br><div dir="ltr">You said: [<span style="font-size:small">  I believe that for Objects this makes sense if we are encoding them but you could easily encode them as class name with a bucket of values with default encoding. ]</span></div><div dir="ltr"><font size="2"><br></font></div><div dir="ltr"><font size="2">Yes, I’ll need to see about this. Some sort of </font></div><div dir="ltr"><font size="2"><br></font></div><div dir="ltr"><font size="2">    ASN1 tagValues:= object class instVarNames </font></div><div dir="ltr"><font size="2">        collect: [ :ivarName | object instVarAt: ivarName ].</font></div><div dir="ltr"><font size="2">    ^ Array with: object className with: tagValues.</font></div><div dir="ltr"><font size="2"><br></font></div><div dir="ltr"><font size="2">You also wrote: [</font><span style="font-size:small">Wish I had more time to work on this but I'm sorry I don't right now.  Good luck with it.  Let me know what you decide to do with it.  Happy to try and keep up to date on it.]</span></div><div dir="ltr"><br></div><div dir="ltr"><div><div id="m_-834081974992854658protonmail_signature_block" style="outline:none"><div style="outline:none"><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">What is keeping you busy these days? </span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)"><br></span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">Didn’t you work with Croquet? Do you think ParrotTalk could talk and encrypt over UDP? I don’t understand how UDP works. :(</span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)"><br></span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">Cheers!</span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)"><br></span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">Have a good one; keep it, light.</span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">Kindly,<br></span></div><span style="background-color:rgba(255,255,255,0)">rabbit<br>. .. … ‘…^,^</span></div></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)"><br></span></div><div style="outline:none"><span style="background-color:rgba(255,255,255,0)"><br></span></div><div id="m_-834081974992854658protonmail_mobile_signature_block" style="outline:none;min-height:40px"><div style="outline:none"><span style="background-color:rgba(255,255,255,0)">Sent from Callisto House :: decentralized mobile homeless solutions</span></div></div></div></div><div dir="ltr"><br><blockquote type="cite">On Sep 9, 2022, at 12:58, Ron Teitelbaum <<a href="mailto:ron@usmedrec.com" target="_blank">ron@usmedrec.com</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hey Rob,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I'm not sure it was a long time ago.  My understanding of the application flag is that it is for encoding tags that are application specific and not for ASN1 defined values.  So the Context is an Application context not a default value.  If we have a specific context and special rules for encoding or decoding a value it would be marked as application otherwise it should be marked as non-application specific to handle it using default rules.  I believe that for Objects this makes sense if we are encoding them but you could easily encode them as class name with a bucket of values with default encoding.  </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Wish I had more time to work on this but I'm sorry I don't right now.  Good luck with it.  Let me know what you decide to do with it.  Happy to try and keep up to date on it.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">All the best,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Ron Teitelbaum</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 9, 2022 at 11:11 AM rabbit <<a href="mailto:rabbit@callistohouse.org" target="_blank">rabbit@callistohouse.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <p>Hi Ron, <br>
    </p>
    <p>I see that originally when you had introduce ASN1 to our library,
      you defined the classes ASN1WrapperConstructedType and
      ASN1ExplicitContextValue. I tried to implement decode and encode
      to ASN1WrapperConstructedType, but only partially. I used your
      ASN1ExplicitContextValue but have not completed it. Now I have the
      need to implement, as I attempt to switch the PromisesRemote to
      using ASN1 encoding, rather than STON.<br>
    </p>
    <p>In looking at Object>>#asn1Tag we construct a tag with <br>
    </p>
    <blockquote>
      <p>Object>>#asn1Tag<br>
        <br>
            ^ (ASN1MappedSequenceType new asn1Tag "48"<br>
                    bitOr: 2r11000000) "Application"<br>
                    bitOr: 2r00100000 "Constructed"</p>
    </blockquote>
    <p>So we are an application class and constructed. In
      ASN1OutputStream>>#typeForTag: tag, the tag is broken down
      into the numericTag, the tagClass (application) and whether it is
      constructed. This is called from decode: anObject with the call:</p>
    <blockquote>
      <p>^ self encode: anObject with Type: (self typeForTag: anObject
        asn1Tag)</p>
    </blockquote>
    <p>So Object>>#asn1Tag is called. So with a ASN1
      non-registered object, we end up with a
      ASN1WrapperConstructedType.</p>
    <p>I am totally unsure about how the ASN1ExplicitContextValue should
      be used with the ASN1WrapperConstructedType, nor how it builds the
      context from the ivars of the provided anonymous object.</p>
    <p>My related concern is whether all of the crypto objects with ASN1
      definitions ought to be of the application tagClass.</p>
    <p>Any guidance you could provide me for this would be very welcome!
      If it is not too far back in history! Heh!</p>
    <p>Thanks!<br>
    </p>
    <pre cols="72">-- 
Have a good one; keep it, light.
Kindly,
rabbit
. .. … ‘…^,^

Sent from Callisto House :: decentralized mobile homeless solutions</pre>
  </div>

</blockquote></div>
</div></blockquote></div></div></blockquote></div>