Beispiel #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));
        }
Beispiel #2
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);
        }