1
+ __author__ = 'rolandh'
2
+
3
+ EDUPERSON_OID = "urn:oid:1.3.6.1.4.1.5923.1.1.1."
4
+ X500ATTR_OID = "urn:oid:2.5.4."
5
+ NOREDUPERSON_OID = "urn:oid:1.3.6.1.4.1.2428.90.1."
6
+ NETSCAPE_LDAP = "urn:oid:2.16.840.1.113730.3.1."
7
+ UCL_DIR_PILOT = 'urn:oid:0.9.2342.19200300.100.1.'
8
+ PKCS_9 = "urn:oid:1.2.840.113549.1.9.1."
9
+ UMICH = "urn:oid:1.3.6.1.4.1.250.1.57."
10
+ SCHAC = "urn:oid:1.3.6.1.4.1.25178.2."
11
+
12
+ MAP = {
13
+ "identifier" : "urn:oasis:names:tc:SAML:2.0:attrname-format:uri" ,
14
+ "fro" : {
15
+ EDUPERSON_OID + '2' : 'eduPersonNickname' ,
16
+ EDUPERSON_OID + '9' : 'eduPersonScopedAffiliation' ,
17
+ EDUPERSON_OID + '11' : 'eduPersonAssurance' ,
18
+ EDUPERSON_OID + '10' : 'eduPersonTargetedID' ,
19
+ EDUPERSON_OID + '4' : 'eduPersonOrgUnitDN' ,
20
+ NOREDUPERSON_OID + '6' : 'norEduOrgAcronym' ,
21
+ NOREDUPERSON_OID + '7' : 'norEduOrgUniqueIdentifier' ,
22
+ NOREDUPERSON_OID + '4' : 'norEduPersonLIN' ,
23
+ EDUPERSON_OID + '1' : 'eduPersonAffiliation' ,
24
+ NOREDUPERSON_OID + '2' : 'norEduOrgUnitUniqueNumber' ,
25
+ NETSCAPE_LDAP + '40' : 'userSMIMECertificate' ,
26
+ NOREDUPERSON_OID + '1' : 'norEduOrgUniqueNumber' ,
27
+ NETSCAPE_LDAP + '241' : 'displayName' ,
28
+ UCL_DIR_PILOT + '37' : 'associatedDomain' ,
29
+ EDUPERSON_OID + '6' : 'eduPersonPrincipalName' ,
30
+ NOREDUPERSON_OID + '8' : 'norEduOrgUnitUniqueIdentifier' ,
31
+ NOREDUPERSON_OID + '9' : 'federationFeideSchemaVersion' ,
32
+ X500ATTR_OID + '53' : 'deltaRevocationList' ,
33
+ X500ATTR_OID + '52' : 'supportedAlgorithms' ,
34
+ X500ATTR_OID + '51' : 'houseIdentifier' ,
35
+ X500ATTR_OID + '50' : 'uniqueMember' ,
36
+ X500ATTR_OID + '19' : 'physicalDeliveryOfficeName' ,
37
+ X500ATTR_OID + '18' : 'postOfficeBox' ,
38
+ X500ATTR_OID + '17' : 'postalCode' ,
39
+ X500ATTR_OID + '16' : 'postalAddress' ,
40
+ X500ATTR_OID + '15' : 'businessCategory' ,
41
+ X500ATTR_OID + '14' : 'searchGuide' ,
42
+ EDUPERSON_OID + '5' : 'eduPersonPrimaryAffiliation' ,
43
+ X500ATTR_OID + '12' : 'title' ,
44
+ X500ATTR_OID + '11' : 'ou' ,
45
+ X500ATTR_OID + '10' : 'o' ,
46
+ X500ATTR_OID + '37' : 'cACertificate' ,
47
+ X500ATTR_OID + '36' : 'userCertificate' ,
48
+ X500ATTR_OID + '31' : 'member' ,
49
+ X500ATTR_OID + '30' : 'supportedApplicationContext' ,
50
+ X500ATTR_OID + '33' : 'roleOccupant' ,
51
+ X500ATTR_OID + '32' : 'owner' ,
52
+ NETSCAPE_LDAP + '1' : 'carLicense' ,
53
+ PKCS_9 + '1' : 'email' ,
54
+ NETSCAPE_LDAP + '3' : 'employeeNumber' ,
55
+ NETSCAPE_LDAP + '2' : 'departmentNumber' ,
56
+ X500ATTR_OID + '39' : 'certificateRevocationList' ,
57
+ X500ATTR_OID + '38' : 'authorityRevocationList' ,
58
+ NETSCAPE_LDAP + '216' : 'userPKCS12' ,
59
+ EDUPERSON_OID + '8' : 'eduPersonPrimaryOrgUnitDN' ,
60
+ X500ATTR_OID + '9' : 'street' ,
61
+ X500ATTR_OID + '8' : 'st' ,
62
+ NETSCAPE_LDAP + '39' : 'preferredLanguage' ,
63
+ EDUPERSON_OID + '7' : 'eduPersonEntitlement' ,
64
+ X500ATTR_OID + '2' : 'knowledgeInformation' ,
65
+ X500ATTR_OID + '7' : 'l' ,
66
+ X500ATTR_OID + '6' : 'c' ,
67
+ X500ATTR_OID + '5' : 'serialNumber' ,
68
+ X500ATTR_OID + '4' : 'sn' ,
69
+ UCL_DIR_PILOT + '60' : 'jpegPhoto' ,
70
+ X500ATTR_OID + '65' : 'pseudonym' ,
71
+ NOREDUPERSON_OID + '5' : 'norEduPersonNIN' ,
72
+ UCL_DIR_PILOT + '3' : 'mail' ,
73
+ UCL_DIR_PILOT + '25' : 'dc' ,
74
+ X500ATTR_OID + '40' : 'crossCertificatePair' ,
75
+ X500ATTR_OID + '42' : 'givenName' ,
76
+ X500ATTR_OID + '43' : 'initials' ,
77
+ X500ATTR_OID + '44' : 'generationQualifier' ,
78
+ X500ATTR_OID + '45' : 'x500UniqueIdentifier' ,
79
+ X500ATTR_OID + '46' : 'dnQualifier' ,
80
+ X500ATTR_OID + '47' : 'enhancedSearchGuide' ,
81
+ X500ATTR_OID + '48' : 'protocolInformation' ,
82
+ X500ATTR_OID + '54' : 'dmdName' ,
83
+ NETSCAPE_LDAP + '4' : 'employeeType' ,
84
+ X500ATTR_OID + '22' : 'teletexTerminalIdentifier' ,
85
+ X500ATTR_OID + '23' : 'facsimileTelephoneNumber' ,
86
+ X500ATTR_OID + '20' : 'telephoneNumber' ,
87
+ X500ATTR_OID + '21' : 'telexNumber' ,
88
+ X500ATTR_OID + '26' : 'registeredAddress' ,
89
+ X500ATTR_OID + '27' : 'destinationIndicator' ,
90
+ X500ATTR_OID + '24' : 'x121Address' ,
91
+ X500ATTR_OID + '25' : 'internationaliSDNNumber' ,
92
+ X500ATTR_OID + '28' : 'preferredDeliveryMethod' ,
93
+ X500ATTR_OID + '29' : 'presentationAddress' ,
94
+ EDUPERSON_OID + '3' : 'eduPersonOrgDN' ,
95
+ NOREDUPERSON_OID + '3' : 'norEduPersonBirthDate' ,
96
+ UMICH + '57' : 'labeledURI' ,
97
+ UCL_DIR_PILOT + '1' : 'uid' ,
98
+ SCHAC + '1' : 'schacMotherTongue' ,
99
+ SCHAC + '2' : 'schacGender' ,
100
+ SCHAC + '3' : 'schacDateOfBirth' ,
101
+ SCHAC + '4' : 'schacPlaceOfBirth' ,
102
+ SCHAC + '5' : 'schacCountryOfCitizenship' ,
103
+ SCHAC + '6' : 'schacSn1' ,
104
+ SCHAC + '7' : 'schacSn2' ,
105
+ SCHAC + '8' : 'schacPersonalTitle' ,
106
+ SCHAC + '9' : 'schacHomeOrganization' ,
107
+ SCHAC + '10' : 'schacHomeOrganizationType' ,
108
+ SCHAC + '11' : 'schacCountryOfResidence' ,
109
+ SCHAC + '12' : 'schacUserPresenceID' ,
110
+ SCHAC + '13' : 'schacPersonalPosition' ,
111
+ SCHAC + '14' : 'schacPersonalUniqueCode' ,
112
+ SCHAC + '15' : 'schacPersonalUniqueID' ,
113
+ SCHAC + '17' : 'schacExpiryDate' ,
114
+ SCHAC + '18' : 'schacUserPrivateAttribute' ,
115
+ SCHAC + '19' : 'schacUserStatus' ,
116
+ SCHAC + '20' : 'schacProjectMembership' ,
117
+ SCHAC + '21' : 'schacProjectSpecificRole' ,
118
+ },
119
+ "to" : {
120
+ 'roleOccupant' : X500ATTR_OID + '33' ,
121
+ 'gn' : X500ATTR_OID + '42' ,
122
+ 'norEduPersonNIN' : NOREDUPERSON_OID + '5' ,
123
+ 'title' : X500ATTR_OID + '12' ,
124
+ 'facsimileTelephoneNumber' : X500ATTR_OID + '23' ,
125
+ 'mail' : UCL_DIR_PILOT + '3' ,
126
+ 'postOfficeBox' : X500ATTR_OID + '18' ,
127
+ 'fax' : X500ATTR_OID + '23' ,
128
+ 'telephoneNumber' : X500ATTR_OID + '20' ,
129
+ 'norEduPersonBirthDate' : NOREDUPERSON_OID + '3' ,
130
+ 'rfc822Mailbox' : UCL_DIR_PILOT + '3' ,
131
+ 'dc' : UCL_DIR_PILOT + '25' ,
132
+ 'countryName' : X500ATTR_OID + '6' ,
133
+ 'emailAddress' : PKCS_9 + '1' ,
134
+ 'employeeNumber' : NETSCAPE_LDAP + '3' ,
135
+ 'organizationName' : X500ATTR_OID + '10' ,
136
+ 'eduPersonAssurance' : EDUPERSON_OID + '11' ,
137
+ 'norEduOrgAcronym' : NOREDUPERSON_OID + '6' ,
138
+ 'registeredAddress' : X500ATTR_OID + '26' ,
139
+ 'physicalDeliveryOfficeName' : X500ATTR_OID + '19' ,
140
+ 'associatedDomain' : UCL_DIR_PILOT + '37' ,
141
+ 'l' : X500ATTR_OID + '7' ,
142
+ 'stateOrProvinceName' : X500ATTR_OID + '8' ,
143
+ 'federationFeideSchemaVersion' : NOREDUPERSON_OID + '9' ,
144
+ 'pkcs9email' : PKCS_9 + '1' ,
145
+ 'givenName' : X500ATTR_OID + '42' ,
146
+ 'givenname' : X500ATTR_OID + '42' ,
147
+ 'x500UniqueIdentifier' : X500ATTR_OID + '45' ,
148
+ 'eduPersonNickname' : EDUPERSON_OID + '2' ,
149
+ 'houseIdentifier' : X500ATTR_OID + '51' ,
150
+ 'street' : X500ATTR_OID + '9' ,
151
+ 'supportedAlgorithms' : X500ATTR_OID + '52' ,
152
+ 'preferredLanguage' : NETSCAPE_LDAP + '39' ,
153
+ 'postalAddress' : X500ATTR_OID + '16' ,
154
+ 'email' : PKCS_9 + '1' ,
155
+ 'norEduOrgUnitUniqueIdentifier' : NOREDUPERSON_OID + '8' ,
156
+ 'eduPersonPrimaryOrgUnitDN' : EDUPERSON_OID + '8' ,
157
+ 'c' : X500ATTR_OID + '6' ,
158
+ 'teletexTerminalIdentifier' : X500ATTR_OID + '22' ,
159
+ 'o' : X500ATTR_OID + '10' ,
160
+ 'cACertificate' : X500ATTR_OID + '37' ,
161
+ 'telexNumber' : X500ATTR_OID + '21' ,
162
+ 'ou' : X500ATTR_OID + '11' ,
163
+ 'initials' : X500ATTR_OID + '43' ,
164
+ 'eduPersonOrgUnitDN' : EDUPERSON_OID + '4' ,
165
+ 'deltaRevocationList' : X500ATTR_OID + '53' ,
166
+ 'norEduPersonLIN' : NOREDUPERSON_OID + '4' ,
167
+ 'supportedApplicationContext' : X500ATTR_OID + '30' ,
168
+ 'eduPersonEntitlement' : EDUPERSON_OID + '7' ,
169
+ 'generationQualifier' : X500ATTR_OID + '44' ,
170
+ 'eduPersonAffiliation' : EDUPERSON_OID + '1' ,
171
+ 'edupersonaffiliation' : EDUPERSON_OID + '1' ,
172
+ 'eduPersonPrincipalName' : EDUPERSON_OID + '6' ,
173
+ 'edupersonprincipalname' : EDUPERSON_OID + '6' ,
174
+ 'localityName' : X500ATTR_OID + '7' ,
175
+ 'owner' : X500ATTR_OID + '32' ,
176
+ 'norEduOrgUnitUniqueNumber' : NOREDUPERSON_OID + '2' ,
177
+ 'searchGuide' : X500ATTR_OID + '14' ,
178
+ 'certificateRevocationList' : X500ATTR_OID + '39' ,
179
+ 'organizationalUnitName' : X500ATTR_OID + '11' ,
180
+ 'userCertificate' : X500ATTR_OID + '36' ,
181
+ 'preferredDeliveryMethod' : X500ATTR_OID + '28' ,
182
+ 'internationaliSDNNumber' : X500ATTR_OID + '25' ,
183
+ 'uniqueMember' : X500ATTR_OID + '50' ,
184
+ 'departmentNumber' : NETSCAPE_LDAP + '2' ,
185
+ 'enhancedSearchGuide' : X500ATTR_OID + '47' ,
186
+ 'userPKCS12' : NETSCAPE_LDAP + '216' ,
187
+ 'eduPersonTargetedID' : EDUPERSON_OID + '10' ,
188
+ 'norEduOrgUniqueNumber' : NOREDUPERSON_OID + '1' ,
189
+ 'x121Address' : X500ATTR_OID + '24' ,
190
+ 'destinationIndicator' : X500ATTR_OID + '27' ,
191
+ 'eduPersonPrimaryAffiliation' : EDUPERSON_OID + '5' ,
192
+ 'surname' : X500ATTR_OID + '4' ,
193
+ 'jpegPhoto' : UCL_DIR_PILOT + '60' ,
194
+ 'eduPersonScopedAffiliation' : EDUPERSON_OID + '9' ,
195
+ 'edupersonscopedaffiliation' : EDUPERSON_OID + '9' ,
196
+ 'protocolInformation' : X500ATTR_OID + '48' ,
197
+ 'knowledgeInformation' : X500ATTR_OID + '2' ,
198
+ 'employeeType' : NETSCAPE_LDAP + '4' ,
199
+ 'userSMIMECertificate' : NETSCAPE_LDAP + '40' ,
200
+ 'member' : X500ATTR_OID + '31' ,
201
+ 'streetAddress' : X500ATTR_OID + '9' ,
202
+ 'dmdName' : X500ATTR_OID + '54' ,
203
+ 'postalCode' : X500ATTR_OID + '17' ,
204
+ 'pseudonym' : X500ATTR_OID + '65' ,
205
+ 'dnQualifier' : X500ATTR_OID + '46' ,
206
+ 'crossCertificatePair' : X500ATTR_OID + '40' ,
207
+ 'eduPersonOrgDN' : EDUPERSON_OID + '3' ,
208
+ 'authorityRevocationList' : X500ATTR_OID + '38' ,
209
+ 'displayName' : NETSCAPE_LDAP + '241' ,
210
+ 'businessCategory' : X500ATTR_OID + '15' ,
211
+ 'serialNumber' : X500ATTR_OID + '5' ,
212
+ 'norEduOrgUniqueIdentifier' : NOREDUPERSON_OID + '7' ,
213
+ 'st' : X500ATTR_OID + '8' ,
214
+ 'carLicense' : NETSCAPE_LDAP + '1' ,
215
+ 'presentationAddress' : X500ATTR_OID + '29' ,
216
+ 'sn' : X500ATTR_OID + '4' ,
217
+ 'domainComponent' : UCL_DIR_PILOT + '25' ,
218
+ 'labeledURI' : UMICH + '57' ,
219
+ 'uid' : UCL_DIR_PILOT + '1' ,
220
+ 'schacMotherTongue' :SCHAC + '1' ,
221
+ 'schacGender' : SCHAC + '2' ,
222
+ 'schacDateOfBirth' :SCHAC + '3' ,
223
+ 'schacPlaceOfBirth' : SCHAC + '4' ,
224
+ 'schacCountryOfCitizenship' :SCHAC + '5' ,
225
+ 'schacSn1' : SCHAC + '6' ,
226
+ 'schacSn2' : SCHAC + '7' ,
227
+ 'schacPersonalTitle' :SCHAC + '8' ,
228
+ 'schacHomeOrganization' : SCHAC + '9' ,
229
+ 'schacHomeOrganizationType' : SCHAC + '10' ,
230
+ 'schacCountryOfResidence' : SCHAC + '11' ,
231
+ 'schacUserPresenceID' : SCHAC + '12' ,
232
+ 'schacPersonalPosition' : SCHAC + '13' ,
233
+ 'schacPersonalUniqueCode' : SCHAC + '14' ,
234
+ 'schacPersonalUniqueID' : SCHAC + '15' ,
235
+ 'schacExpiryDate' : SCHAC + '17' ,
236
+ 'schacUserPrivateAttribute' : SCHAC + '18' ,
237
+ 'schacUserStatus' : SCHAC + '19' ,
238
+ 'schacProjectMembership' : SCHAC + '20' ,
239
+ 'schacProjectSpecificRole' : SCHAC + '21' ,
240
+ }
241
+ }
0 commit comments