问题描述
我遇到了一个大问题。我必须在 python 客户端中调用 EJBCA Web 服务才能发布证书。 我写了我的代码如下:
function ownLogger(state,action) {
console.log(state,action);
}
@NgModule({
declarations: [AppComponent,MyCounterComponent],imports: [
browserModule,StoreModule.forRoot({ count: counterReducer }),StoreDevtoolsModule.instrument({
name: 'NgRx Demo App',logonly: environment.production,monitor: (state,action) => {
console.log(environment);
if (environment.production) {
ownLogger(state,action);
}
}
})
],providers: [],bootstrap: [AppComponent]
})
export class AppModule {}
这是 entred csr :
session = Session()
session.verify = False
session.cert = cert_pair_verify
client = Client(
'url/ejbca/ejbcaws/ejbcaws?wsdl',wsse=BinarySignatureTimestamp(
client_key_path,client_cert_path,),transport=Transport(session=session))
userDataVOWS = client.get_type(
'{http://ws.protocol.core.ejbca.org/}userDataVOWS')
user = userDataVOWS()
user.caName = 'CA'
user.username = 'test'
user.password = 'Tests'
user.clearPwd = False
user.subjectDN = 'test'
user.tokenType = "USERGENERATED"
user.keyRecoverable = False
user.sendNotification = False
user.status = 10
user.endEntityProfileName = "EMPTY"
user.certificateProfileName = "ENDUSER"
response = client.service.certificateRequest(None,csr,None,"CERTIFICATE")
# print('this is a test of response %s' %response)
return zeep.helpers.serialize_object(response)
我不知道我犯了什么错误,但是我在 client.service 方法上得到了一个索引越界异常。 谁知道如何解决这个问题? 谢谢。
解决方法
您在上面粘贴的 CSR 在结束 PEM 行的末尾有一个额外的“-”。