我正在使用python-gpg对tar归档文件进行签名/加密/验证/解密。
代码段-
class Topic(models.Model):
""" A topic the user is learning about """
text = models.CharField(max_length = 200)
date_added = models.DateTimeField(auto_now_add=True)
owner = models.ForeignKey(User, on_delete = models.CASCADE)
def __str__(self):
return self.text
class Entry(models.Model):
enttopic = models.ForeignKey(Topic, on_delete = models.CASCADE)
text = models.TextField()
date_added = models.DateTimeField(auto_now_add = True)
class Meta:
verbose_name_plural = 'entries'
def __str__(self):
return self.text
class Document(models.Model):
doctopic = models.ForeignKey(Entry, on_delete = models.CASCADE)
docfile = models.FileField(upload_to = 'documents/', blank = True, null=True)
upload_at = models.DateTimeField(auto_now_add = True)
代码生成的sig文件就可以了。但是,如果我尝试使用公钥验证sig / tar,则会收到以下消息-
def topic(request, topic_id):
topic = Topic.objects.get(id = topic_id)
entries = topic.entry_set.order_by('-date_added')
images = topic.image_set.order_by('-upload_at')
context = {'topic': topic, 'entries':entries, 'images': images}
return render(request, 'learning_logs/topic.html', context)
相反,如果我尝试直接在linux上生成sig文件并进行验证,则可以正常工作。
我对此感到迷茫,有没有指针?
答案 0 :(得分:0)
以防万一其他人遇到此错误,我通过完全远离库并通过Popen进行签名来解决了该错误。下面的参考资料有帮助-
http://jeromebelleman.gitlab.io/posts/devops/pygpgstdin/
Python/POpen/gpg: Supply passphrase and encryption text both through stdin or file descriptor