다른 사람들에게 비슷한 Google 검색을 통해이 질문을 찾았습니다.
M2Crypto의 단점을 보완하기 위해 비슷한 문제가 있었지만 OpenSSL 유틸리티를 호출하고 YAML과 유사하게 출력을 파싱하는 경로를 따라갔습니다. 작은 청소. 그런 다음
def req_extensions(csrFilename):
cmd = ('openssl req -text -noout -in %s'
% csrFilename)
output = subprocess.check_output(cmd.split(),
stderr=subprocess.STDOUT)
output = re.sub(r': rsaEncryption', ':', output)
output = re.sub(r'[0-9a-f]{2}:', '', output)
return yaml.load(output)
... 등
csrExt = self.req_extensions('my.csr')
keyUsage = (
csrExt['Certificate Request']['Data']['Requested Extensions']
['X509v3 Key Usage'])
SAN = (
csrExt['Certificate Request']['Data']['Requested Extensions']
['X509v3 Subject Alternative Name'])
이에 대한 패치가 경우에 https://github.com/martinpaljak/M2Crypto/pull/25에 제출
사람이 필요 기능 – viraptor