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身份验证以及您的可分辨名称。
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身份验证以及您的可分辨名称。