Пример #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));
        }
Пример #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);
        }
Пример #3
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);
        }