public void CreateCertificate() { CertificateManager _certificator = new CertificateManager(); var keypair = new UserKeyPair(_certificator.GeneratePair()); var certificate = _certificator.GenerateCertificate("Elton John", RegisterTokenOptions.ISSUER, keypair.PrivatKey, keypair.PublicKey); File.WriteAllBytes("testCertificate.crt", _certificator.ConvertToByte(certificate)); }
public void TestPrivatKey() { CertificateManager _certificator = new CertificateManager(); var keypair = new UserKeyPair(_certificator.GeneratePair()); var certificate = _certificator.GenerateCertificate("Elton John", RegisterTokenOptions.ISSUER, keypair.PrivatKey, keypair.PublicKey); FileModel file = new FileModel(Guid.NewGuid() + ".pkf", keypair.PrivatKeyByte); File.WriteAllBytes(file.Name, file.Data); file.Data = File.ReadAllBytes(file.Name); var newPair = new UserKeyPair(file.Data); }
private bool SecureTunnel(string host) { try { X509Certificate2 certificate = _certifier.GenerateCertificate(host); _secureStream = new SslStream(GetStream()); _secureStream.AuthenticateAsServer(certificate, false, SslProtocols.Tls12 | SslProtocols.Tls11 | SslProtocols.Tls, false); return(true); } catch { return(false); } }
public async Task <FileModel> GeneratePrivateKey(CurrentUser currentUser) { var userRepository = _storage.GetRepository <User>(); var certificateFileRepository = _storage.GetFileRepository(FileTypeEnum.Certificate); var keypair = new UserKeyPair(_certificator.GeneratePair()); var certificate = _certificator.GenerateCertificate(currentUser.FullName, RegisterTokenOptions.ISSUER, keypair.PrivatKey, keypair.PublicKey); var user = await userRepository.Get(x => x.Id == currentUser.Id); string name = "certificate_" + user.FullName.Replace(" ", "_"); user.CertificateId = await certificateFileRepository.Save(_certificator.ConvertToByte(certificate), name); await userRepository.Update(user); FileModel file = new FileModel(Guid.NewGuid() + ".pkf", keypair.PrivatKeyByte); return(file); }