Exemple #1
0
 private void LoadData(EndianBinaryReader inEndianReader)
 {
     PublicKey          = inEndianReader.ReadBytesOrThrow(PublicKeyLength);
     SigningPublicKey   = inEndianReader.ReadBytesOrThrow(SigningPublicKeyLength);
     CertType           = (int)I2PPrivateKey.ReadLong(inEndianReader.BaseStream, 1);
     CertLength         = (int)I2PPrivateKey.ReadLong(inEndianReader.BaseStream, 2);
     CertificatePayload = inEndianReader.ReadBytesOrThrow(CertLength);
 }
Exemple #2
0
 public string ToI2PBase64()
 {
     using (var outMs = new MemoryStream())
     {
         outMs.Write(PublicKey, 0, PublicKeyLength);
         outMs.Write(SigningPublicKey, 0, SigningPublicKeyLength);
         I2PPrivateKey.WriteLong(outMs, 1, (long)CertType);
         I2PPrivateKey.WriteLong(outMs, 2, (long)CertLength);
         outMs.Write(CertificatePayload, 0, CertLength);
         return(I2PPrivateKey.I2PBase64Encode(outMs.ToArray()));
     }
 }
Exemple #3
0
 public I2PDestination(
     string dest
     )
 {
     byte[] data = I2PPrivateKey.I2PBase64Decode(dest);
     using (var ms = new MemoryStream(data))
     {
         var converter = new BigEndianBitConverter();
         using (var reader = new EndianBinaryReader(converter, ms))
         {
             LoadData(reader);
         }
     }
 }