cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements

This community is for technical, feature, configuration and deployment questions.
For production deployment issues, please contact the TAC! We will not comment or assist with your TAC case in these forums.
Please see How to Ask the Community for Help for other best practices.

981
Views
0
Helpful
1
Replies

Creating internal user' Python script

Hi all,

i am trying to  create  internal user python script  for  ISE but  i can encouter an error while excute my code . Below is my my code and i have already enable  TLS 1.0 Aand TLS 1.1 . Thsi is my cmmand

 

python Internal_user.py 192.168.31.16 ersadmin oFlPRbe1 ab200 Kwame Brown Password1 kwame.brown@gh.co.uk 2021-01-30

 

 

#!/usr/bin/env python

import http.client
import base64
import ssl
import sys
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

#parameters
name = sys.argv[4] # "ab200"
first = sys.argv[5] # "Kwame"
last = sys.argv[6] # "Brown"
passwd = sys.argv[7] # "Password1"
email = sys.argv[8] # "kwame.brown@gh.co.uk"
expiry_date = sys.argv[9] # "2021-12-30"

# host and authentication credentials
host = sys.argv[1] # "192.168.31.16"
user = sys.argv[2] # "ersadmin"
password = sys.argv[3] # "oFlPRbe1"

 

conn = http.client.HTTPSConnection("{}:9060".format(host), context=ssl.SSLContext(ssl.PROTOCOL_TLSv1))

creds = str.encode(':'.join((user, password)))
encodedAuth = bytes.decode(base64.b64encode(creds))

req_body_json = """ {{
"InternalUser" : {{
"name" : "{}",
"enabled" : true,
"email" : "{}",
"password" : "{}",
"firstName" : "{}",
"lastName" : "{}",
"changePassword" : true,
"expiryDateEnabled" : true,
"expiryDate" : "{}",
"enablePassword" : "{}",
"customAttributes" : {{
}},
"passwordIDStore" : "Internal Users"
}}
}}
""".format(name,email,passwd,first,last,expiry_date,passwd)

headers = {
'accept': "application/json",
'content-type': "application/json",
'authorization': " ".join(("Basic",encodedAuth)),
'cache-control': "no-cache",
}

conn.request("POST", "/ers/config/internaluser/", headers=headers, body=req_body_json)

res = conn.getresponse()
data = res.read()

print("Status: {}".format(res.status))
print("Header:\n{}".format(res.headers))
print("Body:\n{}".format(data.decode("utf-8")))
print('-'*80)
print(req_body_json)
print('-'*80)

 

this is  my error

ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:1123)

 

Any suggestion are welcomed .

 

1 ACCEPTED SOLUTION

Accepted Solutions
thomas
Cisco Employee

See my response to @Richie20 in the post Creating Internal users by python and argparse.

It includes a templating example.

 

View solution in original post

1 REPLY 1
thomas
Cisco Employee

See my response to @Richie20 in the post Creating Internal users by python and argparse.

It includes a templating example.

 

View solution in original post

Create
Recognize Your Peers
Content for Community-Ad

ISE Webinars



Did you miss a previous ISE webinar?

CiscoISE YouTube Channel