Django应用程序实现TLS身份验证-包含简单客户端证书CA

django_tlsauth的Python项目详细描述


*django tlsauth

django tlsauth集成了一个最小的证书颁发机构(ca),并实现tls客户端证书身份验证。它依赖于nginx
来处理tls身份验证部分。

**安装
要设置您的Web服务器和CA。

设置CA后,您还应该在django中配置它,
将类似这样的具有经过调整的路径的内容放入您的设置中。py:
+begin_src python
来自tlsauth import certauthority

tls_ca=certauthority('<;指向CA的路径>;)
tls-admingroups=['ca-admins']
tls-scrutnizer=none;提供您自己的函数授权自动签名
tls-blindsign=false;对传入的csr进行盲签名
sauth.url'),
+end_src

**tlsauth decorator
django tlsauth提供了一个简单的decorator来保护您的入口点:
+begin_src python
from django.http import httpresponse,httpresponsereDirect
来自django_tlsauth。视图导入tlsauth

def unauth(请求):
返回httpresponsereDirect('/')

@tlsauth(unauth=unauth,groups=['helloworldophobians'])
def hello(请求):
return httpresponse(“hello world”)
他们得到一个
pkcs12证书,可以在所有
浏览器中保存和导入。这是完全自动的,并且不检查指定的组织是否不是特权组织(就像上面的例子中的“ca admins”)。这实际上不提供安全性,对于机器人和
脚本,使用这些证书比普通人更容易。
必须部署其他机制来提供有意义的身份验证。

**/tlsauth/certificate/
访问者可以提交他们的证书签名请求(可以使用tlsauth中的gencert.sh轻松生成)。这取决于
配置自动返回一个签名证书(不
这样有意义的身份验证,避免这样!),或者存储
以供“CA管理员”稍后批准。

**/tlsauth/cert/
返回PEM格式的CA根证书,以便导入到浏览器中。

**/tlsauth/csrs/
显示“CA
管理员”组中任何已认证成员的传入CSR列表。证书可以被拒绝或签名,在后一种情况下,生成的证书将发送到
主题的电子邮件地址。


**/tlsauth/test/
显示您是否经过TLS身份验证以及您的可分辨名称。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OpenShift的齿轮特性   java如何在Liferay站点的每个页面上放置公司地址和电话?   java确定整数数组中是否存在一个子集,在两个条件下求和到给定的目标值   序列化为什么java中的serialVersionUID必须是静态的、最终的、长类型的?   java响应返回null   java注入接口实现Quarkus   java我不明白为什么第二次排序的运行时间比第一次慢?   (Java)显示图像的最佳方式?   java Android应用程序因添加布局而崩溃   java如何在运行时获取泛型变量的类   java Selenium web驱动程序:无效的选择器:*:WebKitFullScreenSentor   Spring中的java注入值始终为空   Eclipse中带有TestNG插件的@BeforeSuite和@AfterSuite的java问题   使用trycatch块、filewriter和printwriter在java中创建自定义类   如何在Java 安卓上绘制相交的两条线