Exemple #1
0
        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));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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); }
        }
Exemple #4
0
        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);
        }