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第三方库


热门话题
安卓唯一约束失败,SQLite,Java   java preparedStatement。getString()方法不适用于嵌套sql查询   java如何使用意图将图像(jpg)从一个活动传递到另一个活动?   java无法使用resources文件夹中的文件进行jUnit测试   java Basic多线程程序   JavaSpring自定义转换为Bean或不转换为Bean   amazon web services如何使用AWS CLI 2将更新的JAR上载到现有的Java Elastic Beanstalk实例?   java 安卓:spinner提示符未在API>23中显示   Java表格输出到文件   仅当时间已过而不使用java中的计时器时才执行方法   java有没有一种更健壮的方法来实现依赖于通配符的字符串值的程序流?   未使用BaseAdapter实现在ListView上调用java OnItemLongClickListener   javascript Java Play2是否允许Json RPC调用?   java如何通过编程从doc和docx文件中删除用户身份信息?   JAVAlang.SecurityException:UID 10243在Android 10中没有粗略/精细位置权限