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); }
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())); } }
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); } } }