private void Load(string filename) { using (var fs = new FileStream(filename, FileMode.Open, FileAccess.Read)) { using (var ms = new MemoryStream()) { byte[] buf = new byte[8192]; int len; while ((len = fs.Read(buf, 0, buf.Length)) != 0) { ms.Write(buf, 0, len); } var reader = new BufRefLen(ms.ToArray()); Certificate = new I2PCertificate(reader); PrivateSigningKey = new I2PSigningPrivateKey(reader, Certificate); PublicSigningKey = new I2PSigningPublicKey(reader, Certificate); PrivateKey = new I2PPrivateKey(reader, Certificate); PublicKey = new I2PPublicKey(reader, Certificate); MyRouterIdentity = new I2PRouterIdentity(reader); Published = new I2PDate(reader); IntroKey = reader.ReadBufLen(32); } } }
public SessionRequest(BufRef reader, I2PCertificate cert) { Certificate = cert; X = reader.ReadBufLen(Certificate.PublicKeyLength); var ipsize = reader.Read8(); Address = reader.ReadBufLen(ipsize); }
public I2NPMessagesTest() { Private = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert); Public = new I2PPublicKey(Private); PrivateSigning = new I2PSigningPrivateKey(I2PKeyType.DefaultAsymetricKeyCert); PublicSigning = new I2PSigningPublicKey(PrivateSigning); var CertificateEd25519 = new I2PCertificate(I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519); PrivateSigningEd25519 = new I2PSigningPrivateKey(CertificateEd25519); PublicSigningEd25519 = new I2PSigningPublicKey(PrivateSigningEd25519); Me = new I2PRouterIdentity(Public, new I2PSigningPublicKey(new BigInteger("12"), I2PKeyType.DefaultSigningKeyCert)); }
public SessionCreated(BufRef reader, I2PCertificate cert) { Certificate = cert; Y = reader.ReadBufLen(Certificate.PublicKeyLength); var ipsize = reader.Read8(); Address = reader.ReadBufLen(ipsize); Port = reader.ReadBufLen(2); RelayTag = reader.ReadBufLen(4); SignOnTime = reader.ReadBufLen(4); var paddedsignlen = cert.SignatureLength + BufUtils.Get16BytePadding(cert.SignatureLength); SignatureEncrBuf = reader.ReadBufLen(paddedsignlen); Signature = new BufLen(SignatureEncrBuf, 0, cert.SignatureLength); }
public void TestI2PDestination() { var certificate = new I2PCertificate(I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519); var keys = I2PPrivateKey.GetNewKeyPair(); var privkey = keys.PrivateKey; var privskey = new I2PSigningPrivateKey(certificate); var dest = new I2PDestination( keys.PublicKey, new I2PSigningPublicKey(privskey)); var d2 = new I2PDestination(new BufRefLen(dest.ToByteArray())); Assert.IsTrue(BufUtils.Equal(dest.ToByteArray(), d2.ToByteArray())); }
private void NewIdentity(I2PCertificate cert) { Published = new I2PDate(DateTime.UtcNow.AddMinutes(-1)); Certificate = cert != null ? cert : new I2PCertificate(I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519); //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519 ); //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.ECDSA_SHA256_P256 ); //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.ECDSA_SHA384_P384 ); //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.DSA_SHA1 ); PrivateSigningKey = new I2PSigningPrivateKey(Certificate); PublicSigningKey = new I2PSigningPublicKey(PrivateSigningKey); var keys = I2PPrivateKey.GetNewKeyPair(); PrivateKey = keys.PrivateKey; PublicKey = keys.PublicKey; MyRouterIdentity = new I2PRouterIdentity(PublicKey, PublicSigningKey); IntroKey.Randomize(); }
public RouterContext(I2PCertificate cert) { NewIdentity(cert); }