# This is a normal Java Properties File
# Comments are with Pound Signs at beginning of lines,
# and multi-line expression of properties can be obtained by backslash at end of line

cadi_loglevel=DEBUG
cadi_keyfile=config/security/keyfile

cadi_truststore=config/auth/tomcat_keystore
cadi_truststore_password=OBF:1y0q1uvc1uum1uvg1pil1pjl1uuq1uvk1uuu1y10

# Configure AAF
aaf_url=https://aaf.osaaf.org:30247
aaf_env=DEV

aaf_id=demo@people.osaaf.org
aaf_password=enc:92w4px0y_rrm265LXLpw58QnNPgDXykyA1YTrflbAKz

# This is a colon separated list of client cert issuers
cadi_x509_issuers=CN=ONAP, OU=ONAP, O=ONAP, L=Ottawa, ST=Ontario, C=CA

cadi_latitude=80.62
cadi_longitude=72.62
