jsdsi-users Mailing List for JSDSI
Status: Pre-Alpha
Brought to you by:
sajma
You can subscribe to this list here.
2004 |
Jan
|
Feb
(5) |
Mar
(10) |
Apr
(20) |
May
(26) |
Jun
(7) |
Jul
(10) |
Aug
(25) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
|
Aug
|
Sep
|
Oct
(6) |
Nov
(6) |
Dec
|
2006 |
Jan
(20) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Satish V. <sat...@gm...> - 2007-10-12 20:57:52
|
Hi group, I am planning to use JSDSI for my thesis Role-based access control in federated environments. I was learning how this works with the SDSI Certificate Utility that came along with the jsdsi download. I encountered a problem while trying to load a identity. Stack trace: java.security.NoSuchAlgorithmException: MD5/RSA/PKCS#1 Signature not available at java.security.Signature.getInstance(Signature.java:208) at sdsi.control.SDSIMainFrame.loadIdentity_Action(SDSIMainFrame.java :1151) at sdsi.control.SDSIMainFrame.actionPerformed(SDSIMainFrame.java:805) .......<snip>....... Apparently this line caused it: Signature sign = Signature.getInstance("MD5/RSA/PKCS#1"); I think this algorithms implementation in available in the Cryptix library, but I am not sure why this is not picking it up What is that I am doing wrong? Any help is appreciated. I hope this group helps me all the way along my work. Thank you, -- Satish Vellanki http://cs.ttu.edu/~savellan |
From: <lp...@ne...> - 2007-06-10 17:08:44
|
Hi, You should try reading rfc2692 and rfc2693. This will help to http://theworld.com/~cme/spki.txt.=20 You can encounter examples on the test directory o jsdsi distribution.=20 =BB -----Original Message----- =BB From: jsd...@li... [mailto:jsdsi-users- =BB bo...@li...] On Behalf Of Ivan Hernandez =BB Sent: quinta-feira, 7 de Junho de 2007 22:42 =BB To: jsd...@li... =BB Subject: [Jsdsi-users] User documentation =BB=20 =BB Hi, =BB=20 =BB Is there any document or Quick Start with examples on how to use = JSDSI? =BB=20 =BB Best regards, =BB ivan =BB=20 =BB = -------------------------------------------------------------------------= =BB This SF.net email is sponsored by DB2 Express =BB Download DB2 Express C - the FREE version of DB2 express and take =BB control of your XML. No limits. Just data. Click to get it now. =BB http://sourceforge.net/powerbar/db2/ =BB _______________________________________________ =BB Jsdsi-users mailing list =BB Jsd...@li... =BB https://lists.sourceforge.net/lists/listinfo/jsdsi-users |
From: Ivan H. <iv...@gm...> - 2007-06-07 21:41:32
|
Hi, Is there any document or Quick Start with examples on how to use JSDSI? Best regards, ivan |
From: Vasanta E. <len...@ha...> - 2007-02-20 02:01:35
|
Hi, VIArrGRA $3. 35 VALrrIUM $1. 25 CIArrLIS $3. 75 XArrNAX SOrrMA FOR LESS! http://www.kedrx-com Replace "-" with "." in the above link to make it working. Yes, said Hermione sniffily, and its got a horrible reputation. According to An Appraisal ofMagical Education in Europe, it puts a lot of emphasis on the Dark Arts. |
From: <lp...@ne...> - 2006-01-20 15:42:07
|
Hello Somaya, If u have any doubts about the LDAP certificate store u can talk to me. Good luck. =BB -----Original Message----- =BB From: jsd...@li...=20 =BB [mailto:jsd...@li...] On Behalf Of=20 =BB Sameer Ajmani =BB Sent: sexta-feira, 20 de Janeiro de 2006 14:01 =BB To: Somaya Aboulwafa =BB Cc: jsdsi-users =BB Subject: [Jsdsi-users] Re: Other features offered by JSDSI =BB=20 =BB On 1/20/06, Somaya Aboulwafa <som...@ya...> wrote: =BB > Hi Sameer, =BB > =BB > I understand now that with JSDSI I can do the =BB > following: =BB > 1. Creating and Signing Certificates =BB > 2. Verifying Certificates signatures =BB > 3. Building a certificates path from a group of certificates 4.=20 =BB > certificates paths validation =BB > =BB > I'd like to know what other features that jsdsi support. =BB=20 =BB You have listed the main features, but in addition there's: =BB - certificate and s-expression parsing and marshalling =BB - an LDAP certificate storage system (I'm not familiar with=20 =BB this, though) and I'm sure there are others, but I'd have to=20 =BB go look at the APIs... =BB=20 =BB > =BB > Also I would be grateful if you give me an insight on how=20 =BB (in theory)=20 =BB > jsdsi makes certificate paths validation? =BB=20 =BB A certificate path is essentially a series of certificates=20 =BB that, when taken together, imply another certificate (either=20 =BB a name cert or authorization cert); this implied cert is=20 =BB included with the path to aid in validation. The basic=20 =BB operation of validation is certificate "composition" (the=20 =BB SPKI RFC describes the rules for composing certs).=20 =BB Validation works as follows: the certificates in the path are=20 =BB composed, one after the other, each time checking that the=20 =BB signatures are valid. If the final resulting cert "implies"=20 =BB (grants the same or stronger authorization than) the desired=20 =BB cert, then the path is valid. =BB=20 =BB S =BB=20 =BB > =BB > Thanks you =BB > Somaya =BB > =BB > =BB > __________________________________________________ =BB > Do You Yahoo!? =BB > Tired of spam? Yahoo! Mail has the best spam protection around=20 =BB > http://mail.yahoo.com =BB > =BB=20 =BB=20 =BB -- =BB Sameer =BB http://ajmani.net =BB=20 =BB=20 =BB ------------------------------------------------------- =BB This SF.net email is sponsored by: Splunk Inc. Do you grep=20 =BB through log files for problems? Stop! Download the new AJAX=20 =BB search engine that makes searching your log files as easy as=20 =BB surfing the web. DOWNLOAD SPLUNK! =BB = http://sel.as-us.falkag.net/sel?cmd=3Dk&kid=103432&bid#0486&dat=121642 =BB _______________________________________________ =BB Jsdsi-users mailing list =BB Jsd...@li... =BB https://lists.sourceforge.net/lists/listinfo/jsdsi-users |
From: Sameer A. <aj...@gm...> - 2006-01-20 15:09:28
|
On 1/20/06, Somaya Aboulwafa <som...@ya...> wrote: > Hi, > > Now what I have understood is that, for one to > implement certificate based access control, assume the > following scenario: > > Alice offers a service X and it has an access control > rule stating what credentials are required for > accessing X. > Bob wants to access service X offered by Alice. > Bob then sends Alice his request with some > certificates he owns. > Alice then will : > 1- Build a certificates path for Bob's certificates > using jsdsi resulting in a final certificate (call it > Result_Certificate) > 2- Build a virtual certificate that's equivalent to > its access control rule (call it Temp_Certificate) > 3- Make a validation using jsdsi between the > (Result_Certificate) and the Temp_Certificate (which > is done internally by checking whether > Result_Certificate "implies" Temp_Certificate. > > Do I have any misunderstanding? That's about correct, though here's how I think of it: Bob requests to do action A on resource X: he presents an certificate path whose implied cert is an AuthCert: Bob's key can do A on X Or Alice could have an ACL for X that says "only members of group G may do action A on X". In this case, Bob must present a cert path that implies "Bob is a member of group G". > > What about certificates revocation and CRL and ACL and > all this stuff ? Much of this isn't yet implemented in JSDSI. The APIs are there, but not the implementation. Basically, a cert path is a sequence of self-authenticating certs: right now, a cert is authenticated simply by its signature. If the cert also says that it might appear on a CRL, then the person verifying the cert must also check the CRL. If you're interested in implementing this as an extension to JSDSI, let me know and I can add you as a developer. > > If Alice receive a certificate from bob, how could she > makes sure that this certificate is not revoked and > that it is currently valid? Is this the developer's > job as well? SPKI certs have several ways to specify their own validity. The simplest is the validity period (not-before and not-after) and the signature itself. In addition, a cert might require that the person verifying the cert check a CRL or CVL or one-time validation system. S > > Many Thanks > Somaya > > > --- Sameer Ajmani <aj...@gm...> wrote: > > > On 1/20/06, Somaya Aboulwafa > > <som...@ya...> wrote: > > > Hi Sameer, > > > > > > I understand now that with JSDSI I can do the > > > following: > > > 1. Creating and Signing Certificates > > > 2. Verifying Certificates signatures > > > 3. Building a certificates path from a group of > > > certificates > > > 4. certificates paths validation > > > > > > I'd like to know what other features that jsdsi > > > support. > > > > You have listed the main features, but in addition > > there's: > > - certificate and s-expression parsing and > > marshalling > > - an LDAP certificate storage system (I'm not > > familiar with this, though) > > and I'm sure there are others, but I'd have to go > > look at the APIs... > > > > > > > > Also I would be grateful if you give me an insight > > on > > > how (in theory) jsdsi makes certificate paths > > > validation? > > > > A certificate path is essentially a series of > > certificates that, when > > taken together, imply another certificate (either a > > name cert or > > authorization cert); this implied cert is included > > with the path to > > aid in validation. The basic operation of > > validation is certificate > > "composition" (the SPKI RFC describes the rules for > > composing certs). > > Validation works as follows: the certificates in the > > path are > > composed, one after the other, each time checking > > that the signatures > > are valid. If the final resulting cert "implies" > > (grants the same or > > stronger authorization than) the desired cert, then > > the path is valid. > > > > S > > > > > > > > Thanks you > > > Somaya > > > > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Tired of spam? Yahoo! Mail has the best spam > > protection around > > > http://mail.yahoo.com > > > > > > > > > -- > > Sameer > > http://ajmani.net > > > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net |
From: Somaya A. <som...@ya...> - 2006-01-20 14:31:30
|
Hi, Now what I have understood is that, for one to implement certificate based access control, assume the following scenario: Alice offers a service X and it has an access control rule stating what credentials are required for accessing X. Bob wants to access service X offered by Alice. Bob then sends Alice his request with some certificates he owns. Alice then will : 1- Build a certificates path for Bobs certificates using jsdsi resulting in a final certificate (call it Result_Certificate) 2- Build a virtual certificate thats equivalent to its access control rule (call it Temp_Certificate) 3- Make a validation using jsdsi between the (Result_Certificate) and the Temp_Certificate (which is done internally by checking whether Result_Certificate "implies" Temp_Certificate. Do I have any misunderstanding? What about certificates revocation and CRL and ACL and all this stuff ? If Alice receive a certificate from bob, how could she makes sure that this certificate is not revoked and that it is currently valid? Is this the developers job as well? Many Thanks Somaya --- Sameer Ajmani <aj...@gm...> wrote: > On 1/20/06, Somaya Aboulwafa > <som...@ya...> wrote: > > Hi Sameer, > > > > I understand now that with JSDSI I can do the > > following: > > 1. Creating and Signing Certificates > > 2. Verifying Certificates signatures > > 3. Building a certificates path from a group of > > certificates > > 4. certificates paths validation > > > > I'd like to know what other features that jsdsi > > support. > > You have listed the main features, but in addition > there's: > - certificate and s-expression parsing and > marshalling > - an LDAP certificate storage system (I'm not > familiar with this, though) > and I'm sure there are others, but I'd have to go > look at the APIs... > > > > > Also I would be grateful if you give me an insight > on > > how (in theory) jsdsi makes certificate paths > > validation? > > A certificate path is essentially a series of > certificates that, when > taken together, imply another certificate (either a > name cert or > authorization cert); this implied cert is included > with the path to > aid in validation. The basic operation of > validation is certificate > "composition" (the SPKI RFC describes the rules for > composing certs). > Validation works as follows: the certificates in the > path are > composed, one after the other, each time checking > that the signatures > are valid. If the final resulting cert "implies" > (grants the same or > stronger authorization than) the desired cert, then > the path is valid. > > S > > > > > Thanks you > > Somaya > > > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam > protection around > > http://mail.yahoo.com > > > > > -- > Sameer > http://ajmani.net > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Sameer A. <aj...@gm...> - 2006-01-20 14:07:15
|
On 1/20/06, Somaya Aboulwafa <som...@ya...> wrote: > Hi Sameer, > > I understand now that with JSDSI I can do the > following: > 1. Creating and Signing Certificates > 2. Verifying Certificates signatures > 3. Building a certificates path from a group of > certificates > 4. certificates paths validation > > I'd like to know what other features that jsdsi > support. You have listed the main features, but in addition there's: - certificate and s-expression parsing and marshalling - an LDAP certificate storage system (I'm not familiar with this, though) and I'm sure there are others, but I'd have to go look at the APIs... > > Also I would be grateful if you give me an insight on > how (in theory) jsdsi makes certificate paths > validation? A certificate path is essentially a series of certificates that, when taken together, imply another certificate (either a name cert or authorization cert); this implied cert is included with the path to aid in validation. The basic operation of validation is certificate "composition" (the SPKI RFC describes the rules for composing certs).=20 Validation works as follows: the certificates in the path are composed, one after the other, each time checking that the signatures are valid. If the final resulting cert "implies" (grants the same or stronger authorization than) the desired cert, then the path is valid. S > > Thanks you > Somaya > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net |
From: Sameer A. <aj...@gm...> - 2006-01-20 13:54:08
|
That sounds about right, though Alice might furthermore restrict the authorization she passes to Carol, i.e., she might make the tag weaker. The, if you use JSDSI's certificate path algorithms, it will find a path from Bob to Carol with the appropriate authorization level. S On 1/20/06, Somaya Aboulwafa <som...@ya...> wrote: > Hi Sameer and everyone, > > How to delegate a certificate in jsdsi? Is there a > class that supports certificate delegation or it's the > developer who must handle this? > > If it is the developer's job, will it go like this: > > Suppose that Bob sends Alice a certificate X with > delegation flag set to true. Alice then wants to > delegate it to Carol. I'll check the delegation field > of Certificate X, if set to true then I will create a > new certificate Y with the same attributes as X except > for the principal, the subject and the delegation > field, where the principal will be Alice and the > subject will be Carol. And lastly the delegation field > will be set to true or false (as intended by Alice). > > Is this right scenario for delegation? > > Thank you, > Somaya > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net |
From: Somaya A. <som...@ya...> - 2006-01-20 13:03:07
|
Hi Sameer, I understand now that with JSDSI I can do the following: 1. Creating and Signing Certificates 2. Verifying Certificates signatures 3. Building a certificates path from a group of certificates 4. certificates paths validation Id like to know what other features that jsdsi support. Also I would be grateful if you give me an insight on how (in theory) jsdsi makes certificate paths validation? Thanks you Somaya __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Somaya A. <som...@ya...> - 2006-01-20 12:54:36
|
Hi Sameer and everyone, How to delegate a certificate in jsdsi? Is there a class that supports certificate delegation or its the developer who must handle this? If it is the developers job, will it go like this: Suppose that Bob sends Alice a certificate X with delegation flag set to true. Alice then wants to delegate it to Carol. Ill check the delegation field of Certificate X, if set to true then I will create a new certificate Y with the same attributes as X except for the principal, the subject and the delegation field, where the principal will be Alice and the subject will be Carol. And lastly the delegation field will be set to true or false (as intended by Alice). Is this right scenario for delegation? Thank you, Somaya __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Sameer A. <aj...@gm...> - 2006-01-16 18:45:47
|
SlNEU0kgdXNlcyB0aGUgQmFzZTY0IGNvZGUgZnJvbSB0aGUgQ3J5dHBpeCBsaWJyYXJ5IGZvciBl bmNvZGluZy9kZWNvZGluZy4KV2UgbWlnaHQgYmUgYWJsZSB0byByZW1vdmUgdGhpcyBkZXBlbmRl bmN5IGJ5IHVzaW5nIEpTRFNJJ3Mgb3duCkJhc2U2NGhhbmRsaW5nIGNvZGUsIGJ1dCBmb3Igbm93 IHlvdSBqdXN0IGhhdmUgdG8gaW5jbHVkZSB0aGUgY3J5dHBpeCBqYXIuCgpPbiAxLzE2LzA2LCBT b21heWEgQWJvdWx3YWZhIDxzb21heWFfYWhtYWRAeWFob28uY29tPiB3cm90ZToKPgo+IEhpIFNh bWVlciwKPgo+IEkgaGF2ZSBhbiBpbnF1aXJ5IHBsZWFzZS4gQWZ0ZXIgY3JlYXRpbmcgYW5kIHNp Z25pbmcgdGhlIGNlcnRpZmljYXRlLCBJCj4gd2FudGVkIHRvIHNlbmQgaXQgdG8gYW5vdGhlciBh Z2VudCBhcyBhIHNlcmlhbGl6ZWQgb2JqZWN0LiBIb3dldmVyLCBhdCB0aGUKPiByZWxpZXZpbmcg YWdlbnQgSSBkbyB0aGUgZm9sbG93aW5nIHRvIGRlc2VyYWlsemUgdGhlIGNlcnRpZmljYXRlIG9i amVjdDoKPgo+IE9iamVjdElucHV0U3RyZWFtIG9pbiA9IG5ldyBPYmplY3RJbnB1dFN0cmVhbShu ZXcKPiBCeXRlQXJyYXlJbnB1dFN0cmVhbShkYXRhKSk7Cj4gLy8gZGF0YSBpcyBhIGJ5dGUgYXJy YXkgdGhhdCBjb250YWluIGEgYnl0ZSBzZXF1ZW5jZSBvZiB0aGUgcmVjZWl2ZWQKPiBzZXJpYWxp emVkIGNlcnRpZmljYXRlLgo+IGphdmEuaW8uU2VyaWFsaXphYmxlIHMgPSAoamF2YS5pby5TZXJp YWxpemFibGUpb2luLnJlYWRPYmplY3QoKTsKPgo+IEhvd2V2ZXIgSSBnb3QgYW4gZXhjZXB0aW9u IGF0IG9pbi5yZWFkT2JqZWN0KCk7IFRoZSBleGNlcHRpb24gd2FzIGFzCj4gZm9sbG93czoKPgo+ IGphdmEubGFuZy5Ob0NsYXNzRGVmRm91bmRFcnJvcjogY3J5cHRpeC91dGlsL21pbWUvQmFzZTY0 SW5wdXRTdHJlYW0KPiAgICAgICBhdCBqc2RzaS5zZXhwLk9iaklucHV0U3RyZWFtLjxpbml0Pigq T2JqSW5wdXRTdHJlYW0uamF2YTo0MCopCj4gICAgICAgYXQganNkc2kuc2V4cC5DZXJ0aWZpY2F0 ZUZhY3RvcnkucmVhZE9iaigqQ2VydGlmaWNhdGVGYWN0b3J5LmphdmE6NDMKPiAqKQo+ICAgICAg IGF0IGpzZHNpLnNleHAuQ2VydGlmaWNhdGVGYWN0b3J5LnJlYWRDZXJ0aWZpY2F0ZSgqCj4gQ2Vy dGlmaWNhdGVGYWN0b3J5LmphdmE6NDgqKQo+ICAgICAgIGF0IGpzZHNpLnNleHAuQ2VydGlmaWNh dGVGYWN0b3J5LmVuZ2luZUdlbmVyYXRlQ2VydGlmaWNhdGUoKgo+IENlcnRpZmljYXRlRmFjdG9y eS5qYXZhOjU5KikKPiAgICAgICBhdCBqYXZhLnNlY3VyaXR5LmNlcnQuQ2VydGlmaWNhdGVGYWN0 b3J5LmdlbmVyYXRlQ2VydGlmaWNhdGUoVW5rbm93bgo+IFNvdXJjZSkKPiAgICAgICBhdCBqYXZh LnNlY3VyaXR5LmNlcnQuQ2VydGlmaWNhdGUkQ2VydGlmaWNhdGVSZXAucmVhZFJlc29sdmUoVW5r bm93bgo+IFNvdXJjZSkKPiAgICAgICBhdCBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3Nv ckltcGwuaW52b2tlMCgqTmF0aXZlIE1ldGhvZCopCj4gICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0 aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShVbmtub3duIFNvdXJjZSkKPiAgICAgICBhdCBz dW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShVbmtub3duIFNv dXJjZSkKPiAgICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKFVua25vd24g U291cmNlKQo+ICAgICAgIGF0IGphdmEuaW8uT2JqZWN0U3RyZWFtQ2xhc3MuaW52b2tlUmVhZFJl c29sdmUoVW5rbm93biBTb3VyY2UpCj4gICAgICAgYXQgamF2YS5pby5PYmplY3RJbnB1dFN0cmVh bS5yZWFkT3JkaW5hcnlPYmplY3QoVW5rbm93biBTb3VyY2UpCj4gICAgICAgYXQgamF2YS5pby5P YmplY3RJbnB1dFN0cmVhbS5yZWFkT2JqZWN0MChVbmtub3duIFNvdXJjZSkKPiAgICAgICBhdCBq YXZhLmlvLk9iamVjdElucHV0U3RyZWFtLnJlYWRPYmplY3QoVW5rbm93biBTb3VyY2UpCj4KPiBU aGVuIEkgaGF2ZSBpbmNsdWRlZCB0aGUgZmlsZSAqY3J5cHRpeDMyLmphciogdG8gdGhlIGNsYXNz cGF0aCwgYW5kIGl077+9cwo+IG5vdyB3b3JraW5nIHdpdGggbm8gZXhjZXB0aW9ucy4KPgo+IEJ1 dCBJIGRvbu+/vXQgdW5kZXJzdGFuZCB3aGF077+9cyBoYXBwZW5pbmcgLi4gV2h5IEkgbmVlZCB0 byBpbmNsdWRlIHRoaXMgZmlsZQo+IHRvIHRoZSBjbGFzc3BhdGg/PyBJc27vv710IGl0IGluY2x1 ZGVkIGluc2lkZSBKU0RTSSBieSBkZWZhdWx0PyBJcyB0aGVyZSBhbnkKPiBvdGhlciBzb2x1dGlv biBmb3IgdGhlIGFib3ZlIGV4Y2VwdGlvbiBvdGhlciB0aGFuIHRoaXM/Cj4KPiBNYW55IFRoYW5r cwo+IFNvbWF5YQo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gWWFob28hIFBo b3Rvcwo+IFJpbmcgaW4gdGhlIE5ldyBZZWFyIHdpdGggUGhvdG8gQ2FsZW5kYXJzPGh0dHA6Ly91 cy5yZC55YWhvby5jb20vbWFpbF91cy90YWdsaW5lcy9waG90b3MvKmh0dHA6Ly9wYS55YWhvby5j b20vKmh0dHA6Ly91cy5yZC55YWhvby5jb20vbWFpbF91cy90YWdsaW5lcy9waG90b3MvZXZ0PTM4 MDg3LypodHRwOi8vcGcucGhvdG9zLnlhaG9vLmNvbS9waC8vcGFnZT8uZmlsZT1jYWxlbmRhcl9z cGxhc2guaHRtbCYuZGlyPT4uCj4gQWRkIHBob3RvcywgZXZlbnRzLCBob2xpZGF5cywgd2hhdGV2 ZXIuCj4KPgoKCi0tClNhbWVlcgpodHRwOi8vYWptYW5pLm5ldAo= |
From: Somaya A. <som...@ya...> - 2006-01-16 17:41:23
|
Hi Sameer, I have an inquiry please. After creating and signing the certificate, I wanted to send it to another agent as a serialized object. However, at the relieving agent I do the following to deserailze the certificate object: ObjectInputStream oin = new ObjectInputStream(new ByteArrayInputStream(data)); // data is a byte array that contain a byte sequence of the received serialized certificate. java.io.Serializable s = (java.io.Serializable)oin.readObject(); However I got an exception at oin.readObject(); The exception was as follows: java.lang.NoClassDefFoundError: cryptix/util/mime/Base64InputStream at jsdsi.sexp.ObjInputStream.<init>(ObjInputStream.java:40) at jsdsi.sexp.CertificateFactory.readObj(CertificateFactory.java:43) at jsdsi.sexp.CertificateFactory.readCertificate(CertificateFactory.java:48) at jsdsi.sexp.CertificateFactory.engineGenerateCertificate(CertificateFactory.java:59) at java.security.cert.CertificateFactory.generateCertificate(Unknown Source) at java.security.cert.Certificate$CertificateRep.readResolve(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at java.io.ObjectStreamClass.invokeReadResolve(Unknown Source) at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.io.ObjectInputStream.readObject0(Unknown Source) at java.io.ObjectInputStream.readObject(Unknown Source) Then I have included the file cryptix32.jar to the classpath, and its now working with no exceptions. But I dont understand whats happening .. Why I need to include this file to the classpath?? Isnt it included inside JSDSI by default? Is there any other solution for the above exception other than this? Many Thanks Somaya --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. |
From: Somaya A. <som...@ya...> - 2006-01-16 17:26:17
|
Hi Sameer, Yes I have checked jsdsi.util.RSAKeyPairGeneratorSpi and I found that it uses the sun provider (sun.security.rsa.RASKeyPairGenerator) to generate the KeyPairs then afterwards it changes the public key part (which is of type java.security.PublicKey) to be object of type jsdsi.PublicKey. So I have made the same thing for the public keys that are generated from outside jsdsi, like this: jsdsi.PublicKey Signee1=new jsdsi.RSAPublicKey((java.security.interfaces.RSAPublicKey) signee) And it works :) Thank you Somaya Sameer Ajmani <aj...@gm...> wrote: Look at jsdsi.properties: KeyPairGenerator.SPKI/RSA = jsdsi.util.RSAKeyPairGeneratorSpi So see jsdsi/util/RSAKeyPairGeneratorSpi.java S On 1/15/06, Somaya Aboulwafa wrote: > > I have reached an answer for my question, I found the jsdsi key generator > class, it's jsdsi.util.RSAKeyPairGeneratorSpi > > Thank you :) > > > Somaya Aboulwafa wrote: > > > Hi Sameer, > Don't bother yourself with the code. I'll try to compare how both jsdsi and > jade generates keypairs in order to figure out where the problem is. > > I have first checked jsdsi, and I have a question. > Does JSDSI have its own implementation for Key Pair Generators? If yes, > which class does this? Let me ask this question in a different way, what > does the following line call? > KeyPairGenerator kpg = KeyPairGenerator.getInstance("SPKI/" + > keyEnum.jdkName()); > In java doc, it is stated that the getInstance method work as follows: it > generates a KeyPairGenerator object that implements the specified digest > algorithm. If the default provider package provides an implementation of the > requested digest algorithm, an instance of KeyPairGenerator containing that > implementation is returned. If the algorithm is not available in the default > package, other packages are searched. > So, is the alogorithm "SPKI/RSA" supported in the default package or > supported by jsdsi provider and in both cases where?? > > Thank you for your help, > Somaya > > Somaya Aboulwafa wrote: > > > Okay, attached plz find a file; it is a small program for an agent trying to > create a certificate for another agent. Plz tell me if you have any comments > > Thanks alot, > Somaya > > Sameer Ajmani wrote: > I don't want to run the code -- just visually inspect it. > > S > > On 1/13/06, Somaya Aboulwafa wrote: > > Hi Sameer, > > > > Yes i can, but, for you to run it you'll need to > > install the Agents framework that i'm using (JADE > > multiagent framework). This is becoz, I'm using > > keypairs generated by this API. Do u have time to do > > this?! > > > > Thanks, > > Somaya > > > > --- Sameer Ajmani wrote: > > > > > On 1/5/06, Somaya Aboulwafa > > > wrote: > > > > Hello, > > > > > > > > The exception happens when trying to create an > > > > authorization certificate using this line of code: > > > > > > > > AuthCert cert = new AuthCert((Principal) > > > > signer.getPublic(), (Subject)signee. getPublic(),, > > > v, > > > > dh, c, t, p); > > > > > > > > Where signer and signee parameters are > > > > java.security.KeyPair objects generated from > > > outside > > > > the JSDSI API. > > > > > > > > The Exception is as follows: > > > > java.lang.ClassCastException: > > > > sun.security.rsa.RSAPublicKeyImpl > > > > at > > > > > > > > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > > > at > > > > > > > > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > > > > > > > Another exception also occurs when trying to sign > > > a > > > > certificate using the following line of code: > > > > > > > > jsdsi.Signature sig = > > > jsdsi.Signature.create(signer, > > > > cert, DigestAlgoEnum.SHA1); > > > > > > > > It is as follows: > > > > java.lang.ClassCastException: > > > > sun.security.rsa.RSAPublicKeyImpl > > > > at > > > jsdsi.Signature.create(Signature.java:199) > > > > at > > > jsdsi.Signature.create(Signature.java:157) > > > > at > > > jsdsi.Signature.create(Signature.java:109) > > > > > > Looks like the key you're passing to Signature are > > > of the wrong class. > > > Can you create a small program that throws this > > > exception? e.g., > > ; > create a key pair, then create a signature? > > > > > > S > > > > > > > > > > > Many Thanks, > > > > Somaya > > > > > > > > > > > > > > > > --- LuÃâ¢Ã s Pedro wrote: > > > > > > > > > Hello Somaya Aboulwafa, > > > > > > > > > > Could you send the Exception? > > > > > > > > > > Ãâû -----Original Message----- > > > > > Ãâû From: jsd...@li... > > > > > Ãâû > > > [mailto:jsd...@li...] > > > > > On Behalf Of > > > > > Ãâû Somaya Aboulwafa > > > > > Ãâû Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > > > > > Ãâû To: jsd...@li... > > > > > Ãâû Cc: aj...@gm... > > > > > Ãâû Subject: [Jsdsi-users] KeyPai rs generated by > > > other > > > > > APIs ==> Exception > > > > > Ãâû > > > > > Ãâû Hi Sameer and everyone, > > > > > Ãâû> > > > Ãâû I'm using JSDSI with another framework (a > > > > > > Multiagent system > > > > > Ãâû framework). > > > > > Ãâû Agents in this framework have their own > > > KeyPairs. > > > > > Ãâû Whenever I try to use those KeyPairs to > > > create or > > > > > sign > > > > > Ãâû certificates using JSDSI I got an exception. > > > While > > > > > if I used > > > > > Ãâû JSDSI with KeyPairs generated by JSDSI I got > > > no > > > > > exceptions > > > > > Ãâû > > > > > Ãâû So, would you plz help me to figure out the > > > > > problem? > > > > > Ãâû > > > > > Ãâû Thanks in advance, > > > > > Ãâû Somaya > > > > > Ãâû > > > > > Ãâû > > > > > Ãâû > > > > > Ãâû > > > > > Ãâû __________________________________________ > > > > > Ãâû Yahoo! DSL âââ¬" Something to write home about. > > > > > Ãâû Just $16.99/mo. or less. > > > > > Ãâû dsl.yahoo.com > > > > > Ãâû > > > > > Ãâû > > > > > Ãâû > > > > > Ãâû > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > Ãâû This SF.net email is sponsored by: Splunk > > > Inc. Do > > > > > you grep > > > > > Ãâû through log files > > > > > Ãâû for problems? Stop! Download the new AJAX > > > search > > > > > engine that makes > > > > > Ãâû searching your log files as easy as surfing > > > the > > > > > web. > > > > > Ãâû DOWNLOAD SPLUNK! > > > > > Ãâû > > > > > > > > > > > >< BR>> > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > > > Ãâû > > > _______________________________________________ > > > > > Ãâû Jsdsi-users mailing list > > > > > Ãâû Jsd...@li... > > > > > Ãâû > > > > > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > > > > > > > > > > Ãâ¢Ã ÃËç Ãâ¢Ã¢â¬Â¦Ãâ¢Ã¢â¬ ÃËÃÂ¥ÃËðÃËç ÃËïÃËùÃâ¢Ãâ Ãâ¢Ã¢â¬ ÃËçÃâ¢Ã¢â¬Â¡ > Ãâ¢Ãâ ÃËìÃËïÃâ¢Ã¢â¬ ÃËçÃâ¢Ã¢â¬Â¡ > > > Ãâ¢Ã¢â¬Å¡ÃËñÃâ¢Ã ÃËè .. Ãâ¢Ã¢â¬ ÃËóÃËãÃâ¢Ã¢â¬Å¾Ãâ¢Ã' Ãâ¢Ã ÃËç ÃËçÃâ¢Ã¢â¬Å¾Ãâ¢Ã¢â¬Å¾Ãâ¢Ã¢â¬Â¡ > Ãâ¢Ã ÃËç Ãâ¢Ã¢â¬Â¦Ãâ¢Ã¢â¬Å¾ÃËçÃËð > > > Ãâ¢Ã'Ãâ¢Ã¢â¬Å¾ ÃËúÃËñÃâ¢Ã ÃËè .. ÃËãÃâ¢Ã¢â¬ ÃËêÃËñÃËòÃâ¢Ã¢â¬Å¡Ãâ¢Ã¢â¬ ÃËç > ÃËçÃâ¢Ã¢â¬Å¾ÃËíÃâ¢Ã ÃËçÃâ¢Ã¢â¬Â¡ > > > ÃËùÃâ¢Ã¢â¬Å¾Ãâ¢Ã¢â¬Â° ÃË(r)ÃË÷Ãâ¢Ã¢â¬Â° ÃËçÃâ¢Ã¢â¬Å¾ÃËíÃËèÃâ¢Ã ÃËè > > ; > > > > > > > > > > > > > > > > > > > > > > __________________________________________ > > > > Yahoo! DSL âââ¬" Something to write home about. > > > > Just $16.99/mo. or less. > > > > dsl.yahoo.com > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > This SF.net email is sponsored by: Splunk Inc. Do > > > you grep through log files > > > > for problems? Stop! Download the new AJAX search > > > engine that makes > > > > searching your log files as easy as surfing the > > > web. DOWNLOAD SPLUNK! > > > > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > _______________________________________________ > > > > Jsdsi-users mailing list > > > > Jsd...@li... > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > -- > > > Sameer > > > http://ajmani.net > > > NìHYÞõÃ(c)à ¡à XÃ¬Ã²à ¡'òà Þuü'æ[çÃÂââ¬Â°ÃÅà 'èú > > > ÞæÃËkâè!ââ¬"Ãâ à Wì~à Ã(c)(r)â⬠ÃÂ¥zköà Cã > > > > > Ã¥áçmââ¬Â¦Ã(c)ÞÃâ¬@^Ãâ¡Ã ¡Ã­ÃË^à ¾Ã§zÃËZöfäzÃâ¹j÷!à > x2âêÃ¥ââââ¬Â¢Ã«Ã±Ã¦Ã¬Ãâ°Ã«,ÃºÃ·Ã¢à ¾ a{ââ¬Âº ÃÂ¥ÃÂ,à > HòÃ"4èmÃ¶à ¸Ã¿iÃâº(ñÃâ¢ÃÅâoÃÅ¡v'ïíûjYhr'Ãâï:æà > rXà "ÃÂââ¬ÂºÃ²+ìzû&j)bà ¾ > > > bòÃ'lvÃË(r)ñêÉâ¬"+-òÃÅ .íÃâ¡Ã ¸Ã¢Ã¸ÃÂëaöÃÅ¡lÿùbòÃâº,âêÃÅyú+ÃÂÃ(c)Þ÷ùbòÃâº?ââ¬"+-à > wèþ;ò+ìzû > > > > > > __________________________________________________ > > Do You Yahoo!? > > Tired of spam? Yahoo! Mail has the best spam protection around > > http://mail.yahoo.com > > > > > -- > Sameer > http://ajmani.net > > > > ________________________________ > Yahoo! Photos > Ring in the New Year with Photo Calendars. Add photos, events, holidays, > whatever.package credentials.version1_1; > > import java.security.KeyPair; > import java.security.PublicKey; > import java.security.cert.CertificateException; > > import jade.core.Agent; > import jade.core.security.SecurityHelper; > import jade.lang.acl.ACLMessage; > import jade.security.impl.JADEAuthorityImpl; > > import jsdsi.AuthCert; > import jsdsi.Certificate; > import jsdsi.Principal; > import jsdsi.StringTag; > import jsdsi.Subject; > import jsdsi.Tag; > import jsdsi.Validity; > import jsdsi.util.DateUtil; > import jsdsi.util.DigestAlgoEnum; > > /* This class for an agent is supposed to > * 1- retrieve it's keyPair > * 2- recieve the public key of the receiver agent > * 3- create a certificate and sign certificate where the subject is the > receiver agent and the signer is the current agent (My Agent) > */ > public class MyAgent extends Agent{ > > private SecurityHelper mySecurityHelper = null; > private JADEAuthorityImpl myAuthority=null; > private KeyPair myKeyPair=null; // The keyPair for the current agent (My > Agent) > private PublicKey pubKey=null; // public key of the reciever agent > > // The setup method is the first method to be executed when My Agent is > initially launched. > protected void setup(){ > System.out.println("Hello ! My Agent "+getAID().getName()+" is ready."); > > //Install the JSDSI provider .. I don't know whether is this the right place > for installing the provider or not! > jsdsi.Provider.install(); > > // Get the SecurityHelper; this is the object responsible for the security > service provided by the Jade framework > mySecurityHelper = (SecurityHelper)getHelper("jade.core.security.Security"); > > // Get the KeyPair > myAuthority= > (JADEAuthorityImpl)mySecurityHelper.getAuthority(); > myKeyPair=myAuthority.getKeyPair(); > > //Retieve the receiver agent's public key ; it is supposed that there is > another class for the reciever agent which sends its public key to this > class > //The public key is sent as a serializable object inside a message. > ACLMessage reply=receive(); > pubKey=(PublicKey)reply.getContentObject(); > > // Create and sign an Authorization crtificate > Certificate c=CreateCertificate(myKeyPair,pubKey); > } > > private Certificate CreateCertificate(KeyPair signer,PublicKey signee ){ > > Validity v = new Validity(DateUtil.newDate(), DateUtil.newDate(0,0,1)); > String dh = "plain"; > String c = "test certificate"; > Tag t = new StringTag("test"); > boolean p = false; > System.out.println("ya rab 2"); > > //Create and Sign the Certificate > //the exception occurs in this line > AuthCert cert = new AuthCert((Principal) signer.getPublic(), > (Subject)signee, v, dh, c, t, p); > > // if it use the following code instead, no exception is returned > /*KeyPair signer1=null,signee2=null; > try { > signer1 = KeyPairFactory.create(KeyEnum.RSA); > signee2 = KeyPairFactory.create(KeyEnum.RSA); > } catch (NoSuchAlgorithmException e1) { > e1.printStackTrace(); > } > > AuthCert cert = new AuthCert((Principal) signer1.getPublic(), > (Subject)signee2.getPublic(), v, dh, c, t, p); > */ > > // an exception also occurrs here > // however if i used signer1 instead of signer then no exception > jsdsi.Signature sig = jsdsi.Signature.create(signer, cert, > DigestAlgoEnum.SHA1); > > Certificate certificate=null; > try { > certificate = new Certificate(cert, sig); > } catch (CertificateException e) { > e.printStackTrace(); > } > > System.out.println(certificate.toString()); > return certificate; > } > > } > > > ________________________________ > Yahoo! Photos > Ring in the New Year with Photo Calendars. Add photos, events, holidays, > whatever. > > > > ________________________________ > Yahoo! Photos > Got holiday prints? See all the ways to get quality prints in your hands > ASAP. > > -- Sameer http://ajmani.net N¬HYÞµéX¬²'²Þu¼¦[§Ü¨º Þ¦Øk¢è!W¬~é®åzk¶C£ 塧m éÞÀ@^Ç­È^§zØZ¶f¤zËj·!x2¢êå¢âë±æ¬É«,º·â a{ å,àHòÔ4¨m¶ÿiÛ(±ÙÜ¢oÚv'ï­ûjYhr'ׯ:ærX²+¬z»&j)b b²ÒlvÈ®±êì+-²Ê.­Ç¢¸ëa¶Úlÿùb²Û,¢êÜyú+éÞ·ùb²Û?+-wèþ;²+¬z» --------------------------------- Yahoo! Photos Showcase holiday pictures in hardcover Photo Books. You design it and well bind it! |
From: Sameer A. <aj...@gm...> - 2006-01-16 00:56:44
|
TG9vayBhdCBqc2RzaS5wcm9wZXJ0aWVzOgpLZXlQYWlyR2VuZXJhdG9yLlNQS0kvUlNBID0ganNk c2kudXRpbC5SU0FLZXlQYWlyR2VuZXJhdG9yU3BpCgpTbyBzZWUganNkc2kvdXRpbC9SU0FLZXlQ YWlyR2VuZXJhdG9yU3BpLmphdmEKClMKCk9uIDEvMTUvMDYsIFNvbWF5YSBBYm91bHdhZmEgPHNv bWF5YV9haG1hZEB5YWhvby5jb20+IHdyb3RlOgo+Cj4gSSBoYXZlIHJlYWNoZWQgYW4gYW5zd2Vy IGZvciBteSBxdWVzdGlvbiwgSSBmb3VuZCB0aGUganNkc2kga2V5IGdlbmVyYXRvcgo+IGNsYXNz LCBpdCdzIGpzZHNpLnV0aWwuUlNBS2V5UGFpckdlbmVyYXRvclNwaQo+Cj4gVGhhbmsgeW91IDop Cj4KPgo+IFNvbWF5YSBBYm91bHdhZmEgPHNvbWF5YV9haG1hZEB5YWhvby5jb20+IHdyb3RlOgo+ Cj4KPiBIaSBTYW1lZXIsCj4gRG9uJ3QgYm90aGVyIHlvdXJzZWxmIHdpdGggdGhlIGNvZGUuIEkn bGwgdHJ5IHRvIGNvbXBhcmUgaG93IGJvdGgganNkc2kgYW5kCj4gamFkZSBnZW5lcmF0ZXMga2V5 cGFpcnMgaW4gb3JkZXIgdG8gZmlndXJlIG91dCB3aGVyZSB0aGUgcHJvYmxlbSBpcy4KPgo+IEkg aGF2ZSBmaXJzdCBjaGVja2VkIGpzZHNpLCBhbmQgSSBoYXZlIGEgcXVlc3Rpb24uCj4gRG9lcyBK U0RTSSBoYXZlIGl0cyBvd24gaW1wbGVtZW50YXRpb24gZm9yIEtleSBQYWlyIEdlbmVyYXRvcnM/ IElmIHllcywKPiB3aGljaCBjbGFzcyBkb2VzIHRoaXM/IExldCBtZSBhc2sgdGhpcyBxdWVzdGlv biBpbiBhIGRpZmZlcmVudCB3YXksIHdoYXQKPiBkb2VzIHRoZSBmb2xsb3dpbmcgbGluZSBjYWxs Pwo+IEtleVBhaXJHZW5lcmF0b3IgIGtwZyA9IEtleVBhaXJHZW5lcmF0b3IuZ2V0SW5zdGFuY2Uo IlNQS0kvIiArCj4ga2V5RW51bS5qZGtOYW1lKCkpOwo+IEluIGphdmEgZG9jLCBpdCBpcyBzdGF0 ZWQgdGhhdCB0aGUgZ2V0SW5zdGFuY2UgbWV0aG9kIHdvcmsgYXMgZm9sbG93czogaXQKPiBnZW5l cmF0ZXMgYSBLZXlQYWlyR2VuZXJhdG9yIG9iamVjdCB0aGF0IGltcGxlbWVudHMgdGhlIHNwZWNp ZmllZCBkaWdlc3QKPiBhbGdvcml0aG0uIElmIHRoZSBkZWZhdWx0IHByb3ZpZGVyIHBhY2thZ2Ug cHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgdGhlCj4gcmVxdWVzdGVkIGRpZ2VzdCBhbGdv cml0aG0sIGFuIGluc3RhbmNlIG9mIEtleVBhaXJHZW5lcmF0b3IgY29udGFpbmluZyB0aGF0Cj4g aW1wbGVtZW50YXRpb24gaXMgcmV0dXJuZWQuIElmIHRoZSBhbGdvcml0aG0gaXMgbm90IGF2YWls YWJsZSBpbiB0aGUgZGVmYXVsdAo+IHBhY2thZ2UsIG90aGVyIHBhY2thZ2VzIGFyZSBzZWFyY2hl ZC4KPiBTbywgaXMgdGhlIGFsb2dvcml0aG0gIlNQS0kvUlNBIiBzdXBwb3J0ZWQgaW4gdGhlIGRl ZmF1bHQgcGFja2FnZSBvcgo+IHN1cHBvcnRlZCBieSBqc2RzaSBwcm92aWRlciBhbmQgaW4gYm90 aCBjYXNlcyB3aGVyZT8/Cj4KPiBUaGFuayB5b3UgZm9yIHlvdXIgaGVscCwKPiBTb21heWEKPgo+ IFNvbWF5YSBBYm91bHdhZmEgPHNvbWF5YV9haG1hZEB5YWhvby5jb20+IHdyb3RlOgo+Cj4KPiBP a2F5LCBhdHRhY2hlZCBwbHogZmluZCBhIGZpbGU7IGl0IGlzIGEgc21hbGwgcHJvZ3JhbSBmb3Ig YW4gYWdlbnQgdHJ5aW5nIHRvCj4gY3JlYXRlIGEgY2VydGlmaWNhdGUgZm9yIGFub3RoZXIgYWdl bnQuIFBseiB0ZWxsIG1lIGlmIHlvdSBoYXZlIGFueSBjb21tZW50cwo+Cj4gVGhhbmtzIGFsb3Qs Cj4gU29tYXlhCj4KPiBTYW1lZXIgQWptYW5pIDxham1hbmlAZ21haWwuY29tPiB3cm90ZToKPiBJ IGRvbid0IHdhbnQgdG8gcnVuIHRoZSBjb2RlIC0tIGp1c3QgdmlzdWFsbHkgaW5zcGVjdCBpdC4K Pgo+IFMKPgo+IE9uIDEvMTMvMDYsIFNvbWF5YSBBYm91bHdhZmEgd3JvdGU6Cj4gPiBIaSBTYW1l ZXIsCj4gPgo+ID4gWWVzIGkgY2FuLCBidXQsIGZvciB5b3UgdG8gcnVuIGl0IHlvdSdsbCBuZWVk IHRvCj4gPiBpbnN0YWxsIHRoZSBBZ2VudHMgZnJhbWV3b3JrIHRoYXQgaSdtIHVzaW5nIChKQURF Cj4gPiBtdWx0aWFnZW50IGZyYW1ld29yaykuIFRoaXMgaXMgYmVjb3osIEknbSB1c2luZwo+ID4g a2V5cGFpcnMgZ2VuZXJhdGVkIGJ5IHRoaXMgQVBJLiBEbyB1IGhhdmUgdGltZSB0byBkbwo+ID4g dGhpcz8hCj4gPgo+ID4gVGhhbmtzLAo+ID4gU29tYXlhCj4gPgo+ID4gLS0tIFNhbWVlciBBam1h bmkgd3JvdGU6Cj4gPgo+ID4gPiBPbiAxLzUvMDYsIFNvbWF5YSBBYm91bHdhZmEKPiA+ID4gd3Jv dGU6Cj4gPiA+ID4gSGVsbG8sCj4gPiA+ID4KPiA+ID4gPiBUaGUgZXhjZXB0aW9uIGhhcHBlbnMg d2hlbiB0cnlpbmcgdG8gY3JlYXRlIGFuCj4gPiA+ID4gYXV0aG9yaXphdGlvbiBjZXJ0aWZpY2F0 ZSB1c2luZyB0aGlzIGxpbmUgb2YgY29kZToKPiA+ID4gPgo+ID4gPiA+IEF1dGhDZXJ0IGNlcnQg PSBuZXcgQXV0aENlcnQoKFByaW5jaXBhbCkKPiA+ID4gPiBzaWduZXIuZ2V0UHVibGljKCksIChT dWJqZWN0KXNpZ25lZS4gZ2V0UHVibGljKCksLAo+ID4gPiB2LAo+ID4gPiA+IGRoLCBjLCB0LCBw KTsKPiA+ID4gPgo+ID4gPiA+IFdoZXJlIHNpZ25lciBhbmQgc2lnbmVlIHBhcmFtZXRlcnMgYXJl Cj4gPiA+ID4gamF2YS5zZWN1cml0eS5LZXlQYWlyIG9iamVjdHMgZ2VuZXJhdGVkIGZyb20KPiA+ ID4gb3V0c2lkZQo+ID4gPiA+IHRoZSBKU0RTSSBBUEkuCj4gPiA+ID4KPiA+ID4gPiBUaGUgRXhj ZXB0aW9uIGlzIGFzIGZvbGxvd3M6Cj4gPiA+ID4gamF2YS5sYW5nLkNsYXNzQ2FzdEV4Y2VwdGlv bjoKPiA+ID4gPiBzdW4uc2VjdXJpdHkucnNhLlJTQVB1YmxpY0tleUltcGwKPiA+ID4gPiBhdAo+ ID4gPiA+Cj4gPiA+Cj4gPgo+IGNyZWRlbnRpYWxzLnZlcnNpb24xXzAuU2VuZGVyQWdlbnQuQ3Jl YXRlQ2VydGlmaWNhdGUoU2VuZGVyQWdlbnQuamF2YToxMjMpCj4gPiA+ID4gYXQKPiA+ID4gPgo+ ID4gPgo+ID4KPiBjcmVkZW50aWFscy52ZXJzaW9uMV8wLlNlbmRlckFnZW50LmFjY2VzcyQyKFNl bmRlckFnZW50LmphdmE6MTExKQo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBBbm90aGVyIGV4Y2Vw dGlvbiBhbHNvIG9jY3VycyB3aGVuIHRyeWluZyB0byBzaWduCj4gPiA+IGEKPiA+ID4gPiBjZXJ0 aWZpY2F0ZSB1c2luZyB0aGUgZm9sbG93aW5nIGxpbmUgb2YgY29kZToKPiA+ID4gPgo+ID4gPiA+ IGpzZHNpLlNpZ25hdHVyZSBzaWcgPQo+ID4gPiBqc2RzaS5TaWduYXR1cmUuY3JlYXRlKHNpZ25l ciwKPiA+ID4gPiBjZXJ0LCBEaWdlc3RBbGdvRW51bS5TSEExKTsKPiA+ID4gPgo+ID4gPiA+IEl0 IGlzIGFzIGZvbGxvd3M6Cj4gPiA+ID4gamF2YS5sYW5nLkNsYXNzQ2FzdEV4Y2VwdGlvbjoKPiA+ ID4gPiBzdW4uc2VjdXJpdHkucnNhLlJTQVB1YmxpY0tleUltcGwKPiA+ID4gPiBhdAo+ID4gPiBq c2RzaS5TaWduYXR1cmUuY3JlYXRlKFNpZ25hdHVyZS5qYXZhOjE5OSkKPiA+ID4gPiBhdAo+ID4g PiBqc2RzaS5TaWduYXR1cmUuY3JlYXRlKFNpZ25hdHVyZS5qYXZhOjE1NykKPiA+ID4gPiBhdAo+ ID4gPiBqc2RzaS5TaWduYXR1cmUuY3JlYXRlKFNpZ25hdHVyZS5qYXZhOjEwOSkKPiA+ID4KPiA+ ID4gTG9va3MgbGlrZSB0aGUga2V5IHlvdSdyZSBwYXNzaW5nIHRvIFNpZ25hdHVyZSBhcmUKPiA+ ID4gb2YgdGhlIHdyb25nIGNsYXNzLgo+ID4gPiBDYW4geW91IGNyZWF0ZSBhIHNtYWxsIHByb2dy YW0gdGhhdCB0aHJvd3MgdGhpcwo+ID4gPiBleGNlcHRpb24/IGUuZy4sCj4gPiA7ID4gY3JlYXRl IGEga2V5IHBhaXIsIHRoZW4gY3JlYXRlIGEgc2lnbmF0dXJlPwo+ID4gPgo+ID4gPiBTCj4gPiA+ Cj4gPiA+ID4KPiA+ID4gPiBNYW55IFRoYW5rcywKPiA+ID4gPiBTb21heWEKPiA+ID4gPgo+ID4g PiA+Cj4gPiA+ID4KPiA+ID4gPiAtLS0gTHXDg+KEosOFIHMgUGVkcm8gd3JvdGU6Cj4gPiA+ID4K PiA+ID4gPiA+IEhlbGxvIFNvbWF5YSBBYm91bHdhZmEsCj4gPiA+ID4gPgo+ID4gPiA+ID4gQ291 bGQgeW91IHNlbmQgdGhlIEV4Y2VwdGlvbj8KPiA+ID4gPiA+Cj4gPiA+ID4gPiDDg+KAmsOCwrsg LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiA+IMOD4oCaw4LCuyBGcm9tOiBqc2Rz aS11c2Vycy1hZG1pbkBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+ID4gPiA+IMOD4oCaw4LCuwo+ ID4gPiBbbWFpbHRvOmpzZHNpLXVzZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5ldF0KPiA+ ID4gPiA+IE9uIEJlaGFsZiBPZgo+ID4gPiA+ID4gw4PigJrDgsK7IFNvbWF5YSBBYm91bHdhZmEK PiA+ID4gPiA+IMOD4oCaw4LCuyBTZW50OiBxdWludGEtZmVpcmEsIDUgZGUgSmFuZWlybyBkZSAy MDA2IDc6MzIKPiA+ID4gPiA+IMOD4oCaw4LCuyBUbzoganNkc2ktdXNlcnNAbGlzdHMuc291cmNl Zm9yZ2UubmV0Cj4gPiA+ID4gPiDDg+KAmsOCwrsgQ2M6IGFqbWFuaUBnbWFpbC5jb20KPiA+ID4g PiA+IMOD4oCaw4LCuyBTdWJqZWN0OiBbSnNkc2ktdXNlcnNdIEtleVBhaSBycyBnZW5lcmF0ZWQg YnkKPiA+ID4gb3RoZXIKPiA+ID4gPiA+IEFQSXMgPT0+IEV4Y2VwdGlvbgo+ID4gPiA+ID4gw4Pi gJrDgsK7Cj4gPiA+ID4gPiDDg+KAmsOCwrsgSGkgU2FtZWVyIGFuZCBldmVyeW9uZSwKPiA+ID4g PiA+IMOD4oCaw4LCuz4gPiA+ID4gw4PigJrDgsK7IEknbSB1c2luZyBKU0RTSSB3aXRoIGFub3Ro ZXIgZnJhbWV3b3JrIChhCj4KPiA+ID4gPiA+IE11bHRpYWdlbnQgc3lzdGVtCj4gPiA+ID4gPiDD g+KAmsOCwrsgZnJhbWV3b3JrKS4KPiA+ID4gPiA+IMOD4oCaw4LCuyBBZ2VudHMgaW4gdGhpcyBm cmFtZXdvcmsgaGF2ZSB0aGVpciBvd24KPiA+ID4gS2V5UGFpcnMuCj4gPiA+ID4gPiDDg+KAmsOC wrsgV2hlbmV2ZXIgSSB0cnkgdG8gdXNlIHRob3NlIEtleVBhaXJzIHRvCj4gPiA+IGNyZWF0ZSBv cgo+ID4gPiA+ID4gc2lnbgo+ID4gPiA+ID4gw4PigJrDgsK7IGNlcnRpZmljYXRlcyB1c2luZyBK U0RTSSBJIGdvdCBhbiBleGNlcHRpb24uCj4gPiA+IFdoaWxlCj4gPiA+ID4gPiBpZiBJIHVzZWQK PiA+ID4gPiA+IMOD4oCaw4LCuyBKU0RTSSB3aXRoIEtleVBhaXJzIGdlbmVyYXRlZCBieSBKU0RT SSBJIGdvdAo+ID4gPiBubwo+ID4gPiA+ID4gZXhjZXB0aW9ucwo+ID4gPiA+ID4gw4PigJrDgsK7 Cj4gPiA+ID4gPiDDg+KAmsOCwrsgU28sIHdvdWxkIHlvdSBwbHogaGVscCBtZSB0byBmaWd1cmUg b3V0IHRoZQo+ID4gPiA+ID4gcHJvYmxlbT8KPiA+ID4gPiA+IMOD4oCaw4LCuwo+ID4gPiA+ID4g w4PigJrDgsK7IFRoYW5rcyBpbiBhZHZhbmNlLAo+ID4gPiA+ID4gw4PigJrDgsK7IFNvbWF5YQo+ ID4gPiA+ID4gw4PigJrDgsK7Cj4gPiA+ID4gPiDDg+KAmsOCwrsKPiA+ID4gPiA+IMOD4oCaw4LC uwo+ID4gPiA+ID4gw4PigJrDgsK7Cj4gPiA+ID4gPiDDg+KAmsOCwrsgX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiDDg+KAmsOCwrsgWWFob28hIERT TCDDg8Kiw6LigJrCrCIgU29tZXRoaW5nIHRvIHdyaXRlIGhvbWUgYWJvdXQuCj4gPiA+ID4gPiDD g+KAmsOCwrsgSnVzdCAkMTYuOTkvbW8uIG9yIGxlc3MuCj4gPiA+ID4gPiDDg+KAmsOCwrsgZHNs LnlhaG9vLmNvbQo+ID4gPiA+ID4gw4PigJrDgsK7Cj4gPiA+ID4gPiDDg+KAmsOCwrsKPiA+ID4g PiA+IMOD4oCaw4LCuwo+ID4gPiA+ID4gw4PigJrDgsK7Cj4gPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ Cj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gPiA+ID4gPiDDg+KAmsOCwrsgVGhpcyBTRi5uZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5 OiBTcGx1bmsKPiA+ID4gSW5jLiBEbwo+ID4gPiA+ID4geW91IGdyZXAKPiA+ID4gPiA+IMOD4oCa w4LCuyB0aHJvdWdoIGxvZyBmaWxlcwo+ID4gPiA+ID4gw4PigJrDgsK7IGZvciBwcm9ibGVtcz8g U3RvcCEgRG93bmxvYWQgdGhlIG5ldyBBSkFYCj4gPiA+IHNlYXJjaAo+ID4gPiA+ID4gZW5naW5l IHRoYXQgbWFrZXMKPiA+ID4gPiA+IMOD4oCaw4LCuyBzZWFyY2hpbmcgeW91ciBsb2cgZmlsZXMg YXMgZWFzeSBhcyBzdXJmaW5nCj4gPiA+IHRoZQo+ID4gPiA+ID4gd2ViLgo+ID4gPiA+ID4gw4Pi gJrDgsK7IERPV05MT0FEIFNQTFVOSyEKPiA+ID4gPiA+IMOD4oCaw4LCuwo+ID4gPiA+ID4KPiA+ ID4gPgo+ID4gPjwgQlI+Pgo+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2Nf aWQ9MTY4NjUmb3A9Y2xpY2sKPgo+ID4gPiA+ID4gw4PigJrDgsK7Cj4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiDDg+KAmsOCwrsg SnNkc2ktdXNlcnMgbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiDDg+KAmsOCwrsgSnNkc2ktdXNlcnNA bGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gPiA+ID4gPiDDg+KAmsOCwrsKPiA+ID4gPiA+Cj4gPiA+ ID4KPiA+ID4KPiA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L2pzZHNpLXVzZXJzCj4gPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4K PiA+ID4gPiDDg+KEosOFIMODy5zDgsKnIMOD4oSiw6LigqzCpsOD4oSiw6LigqwgIMODy5zDgsKl w4PLnMOCwrDDg8ucw4LCpyDDg8ucw4LCr8ODy5zDgsK5w4PihKLDi+KAoMOD4oSiw6Ligqwgw4PL nMOCwqfDg+KEosOi4oKswqEKPiDDg+KEosOL4oCgw4PLnMOCwqzDg8ucw4LCr8OD4oSiw6Ligqwg w4PLnMOCwqfDg+KEosOi4oKswqEKPiA+ID4gw4PihKLDouKCrMWhw4PLnMOCwrHDg+KEosOFIMOD y5zDgsKoIC4uIMOD4oSiw6Ligqwgw4PLnMOCwrPDg8ucw4LCo8OD4oSiw6LigqzFvsOD4oSiw4Yn IMOD4oSiw4Ugw4PLnMOCwqcgw4PLnMOCwqfDg+KEosOi4oKsxb7Dg+KEosOi4oKsxb7Dg+KEosOi 4oKswqEKPiDDg+KEosOFIMODy5zDgsKnIMOD4oSiw6LigqzCpsOD4oSiw6LigqzFvsODy5zDgsKn w4PLnMOCwrAKPiA+ID4gw4PihKLDhifDg+KEosOi4oKsxb4gw4PLnMOCwrrDg8ucw4LCscOD4oSi w4Ugw4PLnMOCwqggLi4gw4PLnMOCwqPDg+KEosOi4oKsICDDg8ucw4LCqsODy5zDgsKxw4PLnMOC wrLDg+KEosOi4oKsxaHDg+KEosOi4oKsIMODy5zDgsKnCj4gw4PLnMOCwqfDg+KEosOi4oKsxb7D g8ucw4LCrcOD4oSiw4Ugw4PLnMOCwqfDg+KEosOi4oKswqEKPiA+ID4gw4PLnMOCwrnDg+KEosOi 4oKsxb7Dg+KEosOi4oKswrAgw4PLnChyKcODy5zDgsK3w4PihKLDouKCrMKwIMODy5zDgsKnw4Pi hKLDouKCrMW+w4PLnMOCwq3Dg8ucw4LCqMOD4oSiw4Ugw4PLnMOCwqgKPiA+IDsgPiA+Cj4gPiA+ ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiBZYWhvbyEgRFNMIMODwqLDouKAmsKsIiBTb21l dGhpbmcgdG8gd3JpdGUgaG9tZSBhYm91dC4KPiA+ID4gPiBKdXN0ICQxNi45OS9tby4gb3IgbGVz cy4KPiA+ID4gPiBkc2wueWFob28uY29tCj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4K PiA+ID4KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPiA+ID4gPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6IFNwbHVu ayBJbmMuIERvCj4gPiA+IHlvdSBncmVwIHRocm91Z2ggbG9nIGZpbGVzCj4gPiA+ID4gZm9yIHBy b2JsZW1zPyBTdG9wISBEb3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNoCj4gPiA+IGVuZ2luZSB0 aGF0IG1ha2VzCj4gPiA+ID4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3Vy ZmluZyB0aGUKPiA+ID4gd2ViLiBET1dOTE9BRCBTUExVTkshCj4gPiA+ID4KPiA+ID4KPiA+IGh0 dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkPTc2MzcmYWxsb2NfaWQ9MTY4NjUmb3A9Y2xpY2sKPiA+ ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g PiA+IEpzZHNpLXVzZXJzIG1haWxpbmcgbGlzdAo+ID4gPiA+IEpzZHNpLXVzZXJzQGxpc3RzLnNv dXJjZWZvcmdlLm5ldAo+ID4gPiA+Cj4gPiA+Cj4gPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdl Lm5ldC9saXN0cy9saXN0aW5mby9qc2RzaS11c2Vycwo+ID4gPiA+Cj4gPiA+ID4KPiA+ID4KPiA+ ID4KPiA+ID4gLS0KPiA+ID4gU2FtZWVyCj4gPiA+IGh0dHA6Ly9ham1hbmkubmV0Cj4gPiA+IE4Y w4LCrEhZw4PFvsOCwrXDgyhjKcOFwqHDhSBYw4LCrMOCwrLDhcKhJ8OCwrLDhSDDg8W+dcOCwrwn w4LCplvDgsKnw4LCkMOi4oKswrDDg8WTDsOFJ8OCwqjDgsK6Cj4gPiA+IMODxb7DgsKmw4PLnGvD gsKiw4PCqCHDouKCrCLDi+KAoB/DhSBXw4LCrH7DhSDDgyhjKShyKcOi4oKsIMODwqV6axLDgsK2 w4UgQ8OCwqMKPiA+ID4KPiA+IMODwqXDgsKhw4LCp23DouKCrMKmw4MoYynDg8W+w4PigqwCQF7D g+KAocOFwqHDgsKtw4PLhl7DhcK+CMOCwqd6w4PLnFrDgsK2ZsOCwqR6w4PigLkeasOCwrchw4UK PiB4MsOCwqLDg8Kqw4PCpcOCwqIHw4PCosOi4oKswqLDg8KrGsOCwrHDg8Kmw4LCrMOD4oCww4LC qyzDgsK6w4LCt8ODwqLDhcK+IGF7B8Oi4oKswrogw4PCpcOCwo0sw4MKPiADSMODwrLDgyI0w4LC qG3DgsK2w4XCuMODwr9pw4PigLoow4LCscOD4oSiw4PFk8OCwqJvw4PFoXYnw4PCr8OCwq3Dg8K7 allocifDg+KAlMOCwq86w4PCpsOFCj4gcljDhSLDgsKQw6LigqzCuh3DgsKyK8OCwqx6w4LCuyZq KWLDhcK+Cj4gPgo+IGLDgsKyw4MnbHbDg8uGKHIpw4LCscODwqrDg8Ksw6LigqwiKy3DgsKyw4PF oC7DgsKtw4PigKHDhcK4w4LCosOCwrgew4LCncODwqthw4LCtsODxaFsw4PCv8ODwrliw4LCssOD 4oC6LMOCwqLDg8Kqw4PFk3nDg8K6K8OCwoHDgyhjKcODxb7DgsK3w4PCuWLDgsKyw4PigLo/w6Li gqwiKy3DhQo+IHfDg8Kow4PCvjsdw4LCsivDgsKsesOCwrsKPiA+Cj4gPgo+ID4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+IERvIFlvdSBZYWhv byE/Cj4gPiBUaXJlZCBvZiBzcGFtPyBZYWhvbyEgTWFpbCBoYXMgdGhlIGJlc3Qgc3BhbSBwcm90 ZWN0aW9uIGFyb3VuZAo+ID4gaHR0cDovL21haWwueWFob28uY29tCj4gPgo+Cj4KPiAtLQo+IFNh bWVlcgo+IGh0dHA6Ly9ham1hbmkubmV0Cj4KPgo+Cj4gIF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gIFlhaG9vISBQaG90b3MKPiBSaW5nIGluIHRoZSBOZXcgWWVhciB3aXRoIFBo b3RvIENhbGVuZGFycy4gQWRkIHBob3RvcywgZXZlbnRzLCBob2xpZGF5cywKPiB3aGF0ZXZlci5w YWNrYWdlIGNyZWRlbnRpYWxzLnZlcnNpb24xXzE7Cj4KPiBpbXBvcnQgamF2YS5zZWN1cml0eS5L ZXlQYWlyOwo+IGltcG9ydCBqYXZhLnNlY3VyaXR5LlB1YmxpY0tleTsKPiBpbXBvcnQgamF2YS5z ZWN1cml0eS5jZXJ0LkNlcnRpZmljYXRlRXhjZXB0aW9uOwo+Cj4gaW1wb3J0IGphZGUuY29yZS5B Z2VudDsKPiBpbXBvcnQgamFkZS5jb3JlLnNlY3VyaXR5LlNlY3VyaXR5SGVscGVyOwo+IGltcG9y dCBqYWRlLmxhbmcuYWNsLkFDTE1lc3NhZ2U7Cj4gaW1wb3J0IGphZGUuc2VjdXJpdHkuaW1wbC5K QURFQXV0aG9yaXR5SW1wbDsKPgo+IGltcG9ydCBqc2RzaS5BdXRoQ2VydDsKPiBpbXBvcnQganNk c2kuQ2VydGlmaWNhdGU7Cj4gaW1wb3J0IGpzZHNpLlByaW5jaXBhbDsKPiBpbXBvcnQganNkc2ku U3RyaW5nVGFnOwo+IGltcG9ydCBqc2RzaS5TdWJqZWN0Owo+IGltcG9ydCBqc2RzaS5UYWc7Cj4g aW1wb3J0IGpzZHNpLlZhbGlkaXR5Owo+IGltcG9ydCBqc2RzaS51dGlsLkRhdGVVdGlsOwo+IGlt cG9ydCBqc2RzaS51dGlsLkRpZ2VzdEFsZ29FbnVtOwo+Cj4gLyogVGhpcyBjbGFzcyBmb3IgYW4g YWdlbnQgaXMgc3VwcG9zZWQgdG8KPiAqIDEtIHJldHJpZXZlIGl0J3Mga2V5UGFpcgo+ICogMi0g cmVjaWV2ZSB0aGUgcHVibGljIGtleSBvZiB0aGUgcmVjZWl2ZXIgYWdlbnQKPiAqIDMtIGNyZWF0 ZSBhIGNlcnRpZmljYXRlIGFuZCBzaWduIGNlcnRpZmljYXRlIHdoZXJlIHRoZSBzdWJqZWN0IGlz IHRoZQo+IHJlY2VpdmVyIGFnZW50IGFuZCB0aGUgc2lnbmVyIGlzIHRoZSBjdXJyZW50IGFnZW50 IChNeSBBZ2VudCkKPiAqLwo+IHB1YmxpYyBjbGFzcyBNeUFnZW50IGV4dGVuZHMgQWdlbnR7Cj4K PiBwcml2YXRlIFNlY3VyaXR5SGVscGVyIG15U2VjdXJpdHlIZWxwZXIgPSBudWxsOwo+IHByaXZh dGUgSkFERUF1dGhvcml0eUltcGwgbXlBdXRob3JpdHk9bnVsbDsKPiBwcml2YXRlIEtleVBhaXIg bXlLZXlQYWlyPW51bGw7IC8vIFRoZSBrZXlQYWlyIGZvciB0aGUgY3VycmVudCBhZ2VudCAoTXkK PiBBZ2VudCkKPiBwcml2YXRlIFB1YmxpY0tleSBwdWJLZXk9bnVsbDsgLy8gcHVibGljIGtleSBv ZiB0aGUgcmVjaWV2ZXIgYWdlbnQKPgo+IC8vIFRoZSBzZXR1cCBtZXRob2QgaXMgdGhlIGZpcnN0 IG1ldGhvZCB0byBiZSBleGVjdXRlZCB3aGVuIE15IEFnZW50IGlzCj4gaW5pdGlhbGx5IGxhdW5j aGVkLgo+IHByb3RlY3RlZCB2b2lkIHNldHVwKCl7Cj4gU3lzdGVtLm91dC5wcmludGxuKCJIZWxs byAhIE15IEFnZW50ICIrZ2V0QUlEKCkuZ2V0TmFtZSgpKyIgaXMgcmVhZHkuIik7Cj4KPiAvL0lu c3RhbGwgdGhlIEpTRFNJIHByb3ZpZGVyIC4uIEkgZG9uJ3Qga25vdyB3aGV0aGVyIGlzIHRoaXMg dGhlIHJpZ2h0IHBsYWNlCj4gZm9yIGluc3RhbGxpbmcgdGhlIHByb3ZpZGVyIG9yIG5vdCEKPiBq c2RzaS5Qcm92aWRlci5pbnN0YWxsKCk7Cj4KPiAvLyBHZXQgdGhlIFNlY3VyaXR5SGVscGVyOyB0 aGlzIGlzIHRoZSBvYmplY3QgcmVzcG9uc2libGUgZm9yIHRoZSBzZWN1cml0eQo+IHNlcnZpY2Ug cHJvdmlkZWQgYnkgdGhlIEphZGUgZnJhbWV3b3JrCj4gbXlTZWN1cml0eUhlbHBlciA9IChTZWN1 cml0eUhlbHBlcilnZXRIZWxwZXIoImphZGUuY29yZS5zZWN1cml0eS5TZWN1cml0eSIpOwo+Cj4g Ly8gR2V0IHRoZSBLZXlQYWlyCj4gbXlBdXRob3JpdHk9Cj4gKEpBREVBdXRob3JpdHlJbXBsKW15 U2VjdXJpdHlIZWxwZXIuZ2V0QXV0aG9yaXR5KCk7Cj4gbXlLZXlQYWlyPW15QXV0aG9yaXR5Lmdl dEtleVBhaXIoKTsKPgo+IC8vUmV0aWV2ZSB0aGUgcmVjZWl2ZXIgYWdlbnQncyBwdWJsaWMga2V5 IDsgaXQgaXMgc3VwcG9zZWQgdGhhdCB0aGVyZSBpcwo+IGFub3RoZXIgY2xhc3MgZm9yIHRoZSBy ZWNpZXZlciBhZ2VudCB3aGljaCBzZW5kcyBpdHMgcHVibGljIGtleSB0byB0aGlzCj4gY2xhc3MK PiAvL1RoZSBwdWJsaWMga2V5IGlzIHNlbnQgYXMgYSBzZXJpYWxpemFibGUgb2JqZWN0IGluc2lk ZSBhIG1lc3NhZ2UuCj4gQUNMTWVzc2FnZSByZXBseT1yZWNlaXZlKCk7Cj4gcHViS2V5PShQdWJs aWNLZXkpcmVwbHkuZ2V0Q29udGVudE9iamVjdCgpOwo+Cj4gLy8gQ3JlYXRlIGFuZCBzaWduIGFu IEF1dGhvcml6YXRpb24gY3J0aWZpY2F0ZQo+IENlcnRpZmljYXRlIGM9Q3JlYXRlQ2VydGlmaWNh dGUobXlLZXlQYWlyLHB1YktleSk7Cj4gfQo+Cj4gcHJpdmF0ZSBDZXJ0aWZpY2F0ZSBDcmVhdGVD ZXJ0aWZpY2F0ZShLZXlQYWlyIHNpZ25lcixQdWJsaWNLZXkgc2lnbmVlICl7Cj4KPiBWYWxpZGl0 eSB2ID0gbmV3IFZhbGlkaXR5KERhdGVVdGlsLm5ld0RhdGUoKSwgRGF0ZVV0aWwubmV3RGF0ZSgw LDAsMSkpOwo+IFN0cmluZyBkaCA9ICJwbGFpbiI7Cj4gU3RyaW5nIGMgPSAidGVzdCBjZXJ0aWZp Y2F0ZSI7Cj4gVGFnIHQgPSBuZXcgU3RyaW5nVGFnKCJ0ZXN0Iik7Cj4gYm9vbGVhbiBwID0gZmFs c2U7Cj4gU3lzdGVtLm91dC5wcmludGxuKCJ5YSByYWIgMiIpOwo+Cj4gLy9DcmVhdGUgYW5kIFNp Z24gdGhlIENlcnRpZmljYXRlCj4gLy90aGUgZXhjZXB0aW9uIG9jY3VycyBpbiB0aGlzIGxpbmUK PiBBdXRoQ2VydCBjZXJ0ID0gbmV3IEF1dGhDZXJ0KChQcmluY2lwYWwpIHNpZ25lci5nZXRQdWJs aWMoKSwKPiAoU3ViamVjdClzaWduZWUsIHYsIGRoLCBjLCB0LCBwKTsKPgo+IC8vIGlmIGl0IHVz ZSB0aGUgZm9sbG93aW5nIGNvZGUgaW5zdGVhZCwgbm8gZXhjZXB0aW9uIGlzIHJldHVybmVkCj4g LypLZXlQYWlyIHNpZ25lcjE9bnVsbCxzaWduZWUyPW51bGw7Cj4gdHJ5IHsKPiBzaWduZXIxID0g S2V5UGFpckZhY3RvcnkuY3JlYXRlKEtleUVudW0uUlNBKTsKPiBzaWduZWUyID0gS2V5UGFpckZh Y3RvcnkuY3JlYXRlKEtleUVudW0uUlNBKTsKPiB9IGNhdGNoIChOb1N1Y2hBbGdvcml0aG1FeGNl cHRpb24gZTEpIHsKPiBlMS5wcmludFN0YWNrVHJhY2UoKTsKPiB9Cj4KPiBBdXRoQ2VydCBjZXJ0 ID0gbmV3IEF1dGhDZXJ0KChQcmluY2lwYWwpIHNpZ25lcjEuZ2V0UHVibGljKCksCj4gKFN1Ympl Y3Qpc2lnbmVlMi5nZXRQdWJsaWMoKSwgdiwgZGgsIGMsIHQsIHApOwo+ICovCj4KPiAvLyBhbiBl eGNlcHRpb24gYWxzbyBvY2N1cnJzIGhlcmUKPiAvLyBob3dldmVyIGlmIGkgdXNlZCBzaWduZXIx IGluc3RlYWQgb2Ygc2lnbmVyIHRoZW4gbm8gZXhjZXB0aW9uCj4ganNkc2kuU2lnbmF0dXJlIHNp ZyA9IGpzZHNpLlNpZ25hdHVyZS5jcmVhdGUoc2lnbmVyLCBjZXJ0LAo+IERpZ2VzdEFsZ29FbnVt LlNIQTEpOwo+Cj4gQ2VydGlmaWNhdGUgY2VydGlmaWNhdGU9bnVsbDsKPiB0cnkgewo+IGNlcnRp ZmljYXRlID0gbmV3IENlcnRpZmljYXRlKGNlcnQsIHNpZyk7Cj4gfSBjYXRjaCAoQ2VydGlmaWNh dGVFeGNlcHRpb24gZSkgewo+IGUucHJpbnRTdGFja1RyYWNlKCk7Cj4gfQo+Cj4gU3lzdGVtLm91 dC5wcmludGxuKGNlcnRpZmljYXRlLnRvU3RyaW5nKCkpOwo+IHJldHVybiBjZXJ0aWZpY2F0ZTsK PiB9Cj4KPiB9Cj4KPgo+ICBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICBZYWhv byEgUGhvdG9zCj4gUmluZyBpbiB0aGUgTmV3IFllYXIgd2l0aCBQaG90byBDYWxlbmRhcnMuIEFk ZCBwaG90b3MsIGV2ZW50cywgaG9saWRheXMsCj4gd2hhdGV2ZXIuCj4KPgo+Cj4gIF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gWWFob28hIFBob3Rvcwo+ICBHb3QgaG9saWRheSBw cmludHM/IFNlZSBhbGwgdGhlIHdheXMgdG8gZ2V0IHF1YWxpdHkgcHJpbnRzIGluIHlvdXIgaGFu ZHMKPiBBU0FQLgo+Cj4KCgotLQpTYW1lZXIKaHR0cDovL2FqbWFuaS5uZXQK |
From: Somaya A. <som...@ya...> - 2006-01-15 17:39:16
|
I have reached an answer for my question, I found the jsdsi key generator class, it's jsdsi.util.RSAKeyPairGeneratorSpi Thank you :) Somaya Aboulwafa <som...@ya...> wrote: Hi Sameer, Dont bother yourself with the code. Ill try to compare how both jsdsi and jade generates keypairs in order to figure out where the problem is. I have first checked jsdsi, and I have a question. Does JSDSI have its own implementation for Key Pair Generators? If yes, which class does this? Let me ask this question in a different way, what does the following line call? KeyPairGenerator kpg = KeyPairGenerator.getInstance("SPKI/" + keyEnum.jdkName()); In java doc, it is stated that the getInstance method work as follows: it generates a KeyPairGenerator object that implements the specified digest algorithm. If the default provider package provides an implementation of the requested digest algorithm, an instance of KeyPairGenerator containing that implementation is returned. If the algorithm is not available in the default package, other packages are searched. So, is the alogorithm SPKI/RSA supported in the default package or supported by jsdsi provider and in both cases where?? Thank you for your help, Somaya Somaya Aboulwafa <som...@ya...> wrote: Okay, attached plz find a file; it is a small program for an agent trying to create a certificate for another agent. Plz tell me if you have any comments Thanks alot, Somaya Sameer Ajmani <aj...@gm...> wrote: I don't want to run the code -- just visually inspect it. S On 1/13/06, Somaya Aboulwafa wrote: > Hi Sameer, > > Yes i can, but, for you to run it you'll need to > install the Agents framework that i'm using (JADE > multiagent framework). This is becoz, I'm using > keypairs generated by this API. Do u have time to do > this?! > > Thanks, > Somaya > > --- Sameer Ajmani wrote: > > > On 1/5/06, Somaya Aboulwafa > > wrote: > > > Hello, > > > > > > The exception happens when trying to create an > > > authorization certificate using this line of code: > > > > > > AuthCert cert = new AuthCert((Principal) > > > signer.getPublic(), (Subject)signee. getPublic(),, > > v, > > > dh, c, t, p); > > > > > > Where signer and signee parameters are > > > java.security.KeyPair objects generated from > > outside > > > the JSDSI API. > > > > > > The Exception is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > > > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > > at > > > > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > > > > Another exception also occurs when trying to sign > > a > > > certificate using the following line of code: > > > > > > jsdsi.Signature sig = > > jsdsi.Signature.create(signer, > > > cert, DigestAlgoEnum.SHA1); > > > > > > It is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > jsdsi.Signature.create(Signature.java:199) > > > at > > jsdsi.Signature.create(Signature.java:157) > > > at > > jsdsi.Signature.create(Signature.java:109) > > > > Looks like the key you're passing to Signature are > > of the wrong class. > > Can you create a small program that throws this > > exception? e.g., > ; > create a key pair, then create a signature? > > > > S > > > > > > > > Many Thanks, > > > Somaya > > > > > > > > > > > > --- LuÃÅ s Pedro wrote: > > > > > > > Hello Somaya Aboulwafa, > > > > > > > > Could you send the Exception? > > > > > > > > û -----Original Message----- > > > > û From: jsd...@li... > > > > û > > [mailto:jsd...@li...] > > > > On Behalf Of > > > > û Somaya Aboulwafa > > > > û Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > > > > û To: jsd...@li... > > > > û Cc: aj...@gm... > > > > û Subject: [Jsdsi-users] KeyPai rs generated by > > other > > > > APIs ==> Exception > > > > û > > > > û Hi Sameer and everyone, > > > > û> > > > û I'm using JSDSI with another framework (a > > > > Multiagent system > > > > û framework). > > > > û Agents in this framework have their own > > KeyPairs. > > > > û Whenever I try to use those KeyPairs to > > create or > > > > sign > > > > û certificates using JSDSI I got an exception. > > While > > > > if I used > > > > û JSDSI with KeyPairs generated by JSDSI I got > > no > > > > exceptions > > > > û > > > > û So, would you plz help me to figure out the > > > > problem? > > > > û > > > > û Thanks in advance, > > > > û Somaya > > > > û > > > > û > > > > û > > > > û > > > > û __________________________________________ > > > > û Yahoo! DSL ââ¬" Something to write home about. > > > > û Just $16.99/mo. or less. > > > > û dsl.yahoo.com > > > > û > > > > û > > > > û > > > > û > > > > > > > > > > ------------------------------------------------------- > > > > û This SF.net email is sponsored by: Splunk > > Inc. Do > > > > you grep > > > > û through log files > > > > û for problems? Stop! Download the new AJAX > > search > > > > engine that makes > > > > û searching your log files as easy as surfing > > the > > > > web. > > > > û DOWNLOAD SPLUNK! > > > > û > > > > > > > > >< BR>> http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > û > > _______________________________________________ > > > > û Jsdsi-users mailing list > > > > û Jsd...@li... > > > > û > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > > > > Êç Ãâ¦Ãâ Ã¥ðç ïùÃËÃâ çÃâ¡ ÃËìïÃâ çÃâ¡ > > ÃâñÊè .. Ãâ óãÃâÃÆ ÃŠç çÃâÃâÃ⡠Êç Ãâ¦Ãâçð > > ÃÆÃâ úñÊè .. ãÃâ êñòÃâÃâ ç çÃâíÊçÃâ¡ > > ùÃâÃâ° Ã(r)÷ÃⰠçÃâíèÊè > ; > > > > > > > > > > > > > > > > > __________________________________________ > > > Yahoo! DSL ââ¬" Something to write home about. > > > Just $16.99/mo. or less. > > > dsl.yahoo.com > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Splunk Inc. Do > > you grep through log files > > > for problems? Stop! Download the new AJAX search > > engine that makes > > > searching your log files as easy as surfing the > > web. DOWNLOAD SPLUNK! > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > _______________________________________________ > > > Jsdsi-users mailing list > > > Jsd...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > -- > > Sameer > > http://ajmani.net > > N¬HYõ隊X¬²š'²ŠÃu¼'¦[§Ââ°ÃŨº > > æÃk¢è!âËÅ W¬~Šé(r)â Ã¥zk¶ŠC£ > > > 塧mâ¦Ã©ÃÃ@^Ú­Ã^ž§zÃZ¶f¤zÃj·!Å x2¢êå¢ââ¢Ã«Â±Ã¦Â¬Ã«,º·âž a{⺠åÂ,à HòÃ4¨m¶ŸÿiÃ(±ÃâoÃv'ï­ûjYhr'ï:æŠrXÅÂâºÂ²+¬z»&j)bž > b²ÃlvÃ(r)±êìâ+-²Ã.­ÃŸ¢¸Âëa¶Ãlÿùb²Ã,¢êÃyú+Âé÷ùb²Ã?â+-Å wèþ;²+¬z» > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.package credentials.version1_1; import java.security.KeyPair; import java.security.PublicKey; import java.security.cert.CertificateException; import jade.core.Agent; import jade.core.security.SecurityHelper; import jade.lang.acl.ACLMessage; import jade.security.impl.JADEAuthorityImpl; import jsdsi.AuthCert; import jsdsi.Certificate; import jsdsi.Principal; import jsdsi.StringTag; import jsdsi.Subject; import jsdsi.Tag; import jsdsi.Validity; import jsdsi.util.DateUtil; import jsdsi.util.DigestAlgoEnum; /* This class for an agent is supposed to * 1- retrieve it's keyPair * 2- recieve the public key of the receiver agent * 3- create a certificate and sign certificate where the subject is the receiver agent and the signer is the current agent (My Agent) */ public class MyAgent extends Agent{ private SecurityHelper mySecurityHelper = null; private JADEAuthorityImpl myAuthority=null; private KeyPair myKeyPair=null; // The keyPair for the current agent (My Agent) private PublicKey pubKey=null; // public key of the reciever agent // The setup method is the first method to be executed when My Agent is initially launched. protected void setup(){ System.out.println("Hello ! My Agent "+getAID().getName()+" is ready."); //Install the JSDSI provider .. I don't know whether is this the right place for installing the provider or not! jsdsi.Provider.install(); // Get the SecurityHelper; this is the object responsible for the security service provided by the Jade framework mySecurityHelper = (SecurityHelper)getHelper("jade.core.security.Security"); // Get the KeyPair myAuthority= (JADEAuthorityImpl)mySecurityHelper.getAuthority(); myKeyPair=myAuthority.getKeyPair(); //Retieve the receiver agent's public key ; it is supposed that there is another class for the reciever agent which sends its public key to this class //The public key is sent as a serializable object inside a message. ACLMessage reply=receive(); pubKey=(PublicKey)reply.getContentObject(); // Create and sign an Authorization crtificate Certificate c=CreateCertificate(myKeyPair,pubKey); } private Certificate CreateCertificate(KeyPair signer,PublicKey signee ){ Validity v = new Validity(DateUtil.newDate(), DateUtil.newDate(0,0,1)); String dh = "plain"; String c = "test certificate"; Tag t = new StringTag("test"); boolean p = false; System.out.println("ya rab 2"); //Create and Sign the Certificate //the exception occurs in this line AuthCert cert = new AuthCert((Principal) signer.getPublic(), (Subject)signee, v, dh, c, t, p); // if it use the following code instead, no exception is returned /*KeyPair signer1=null,signee2=null; try { signer1 = KeyPairFactory.create(KeyEnum.RSA); signee2 = KeyPairFactory.create(KeyEnum.RSA); } catch (NoSuchAlgorithmException e1) { e1.printStackTrace(); } AuthCert cert = new AuthCert((Principal) signer1.getPublic(), (Subject)signee2.getPublic(), v, dh, c, t, p); */ // an exception also occurrs here // however if i used signer1 instead of signer then no exception jsdsi.Signature sig = jsdsi.Signature.create(signer, cert, DigestAlgoEnum.SHA1); Certificate certificate=null; try { certificate = new Certificate(cert, sig); } catch (CertificateException e) { e.printStackTrace(); } System.out.println(certificate.toString()); return certificate; } } --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. --------------------------------- Yahoo! Photos Got holiday prints? See all the ways to get quality prints in your hands ASAP. |
From: Somaya A. <som...@ya...> - 2006-01-15 14:59:18
|
Hi Sameer, Dont bother yourself with the code. Ill try to compare how both jsdsi and jade generates keypairs in order to figure out where the problem is. I have first checked jsdsi, and I have a question. Does JSDSI have its own implementation for Key Pair Generators? If yes, which class does this? Let me ask this question in a different way, what does the following line call? KeyPairGenerator kpg = KeyPairGenerator.getInstance("SPKI/" + keyEnum.jdkName()); In java doc, it is stated that the getInstance method work as follows: it generates a KeyPairGenerator object that implements the specified digest algorithm. If the default provider package provides an implementation of the requested digest algorithm, an instance of KeyPairGenerator containing that implementation is returned. If the algorithm is not available in the default package, other packages are searched. So, is the alogorithm SPKI/RSA supported in the default package or supported by jsdsi provider and in both cases where?? Thank you for your help, Somaya Somaya Aboulwafa <som...@ya...> wrote: Okay, attached plz find a file; it is a small program for an agent trying to create a certificate for another agent. Plz tell me if you have any comments Thanks alot, Somaya Sameer Ajmani <aj...@gm...> wrote: I don't want to run the code -- just visually inspect it. S On 1/13/06, Somaya Aboulwafa wrote: > Hi Sameer, > > Yes i can, but, for you to run it you'll need to > install the Agents framework that i'm using (JADE > multiagent framework). This is becoz, I'm using > keypairs generated by this API. Do u have time to do > this?! > > Thanks, > Somaya > > --- Sameer Ajmani wrote: > > > On 1/5/06, Somaya Aboulwafa > > wrote: > > > Hello, > > > > > > The exception happens when trying to create an > > > authorization certificate using this line of code: > > > > > > AuthCert cert = new AuthCert((Principal) > > > signer.getPublic(), (Subject)signee. getPublic(),, > > v, > > > dh, c, t, p); > > > > > > Where signer and signee parameters are > > > java.security.KeyPair objects generated from > > outside > > > the JSDSI API. > > > > > > The Exception is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > > > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > > at > > > > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > > > > Another exception also occurs when trying to sign > > a > > > certificate using the following line of code: > > > > > > jsdsi.Signature sig = > > jsdsi.Signature.create(signer, > > > cert, DigestAlgoEnum.SHA1); > > > > > > It is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > jsdsi.Signature.create(Signature.java:199) > > > at > > jsdsi.Signature.create(Signature.java:157) > > > at > > jsdsi.Signature.create(Signature.java:109) > > > > Looks like the key you're passing to Signature are > > of the wrong class. > > Can you create a small program that throws this > > exception? e.g., > ; > create a key pair, then create a signature? > > > > S > > > > > > > > Many Thanks, > > > Somaya > > > > > > > > > > > > --- LuÃÅ s Pedro wrote: > > > > > > > Hello Somaya Aboulwafa, > > > > > > > > Could you send the Exception? > > > > > > > > û -----Original Message----- > > > > û From: jsd...@li... > > > > û > > [mailto:jsd...@li...] > > > > On Behalf Of > > > > û Somaya Aboulwafa > > > > û Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > > > > û To: jsd...@li... > > > > û Cc: aj...@gm... > > > > û Subject: [Jsdsi-users] KeyPai rs generated by > > other > > > > APIs ==> Exception > > > > û > > > > û Hi Sameer and everyone, > > > > û > > > > û I'm using JSDSI with another framework (a > > > > Multiagent system > > > > û framework). > > > > û Agents in this framework have their own > > KeyPairs. > > > > û Whenever I try to use those KeyPairs to > > create or > > > > sign > > > > û certificates using JSDSI I got an exception. > > While > > > > if I used > > > > û JSDSI with KeyPairs generated by JSDSI I got > > no > > > > exceptions > > > > û > > > > û So, would you plz help me to figure out the > > > > problem? > > > > û > > > > û Thanks in advance, > > > > û Somaya > > > > û > > > > û > > > > û > > > > û > > > > û __________________________________________ > > > > û Yahoo! DSL ââ¬" Something to write home about. > > > > û Just $16.99/mo. or less. > > > > û dsl.yahoo.com > > > > û > > > > û > > > > û > > > > û > > > > > > > > > > ------------------------------------------------------- > > > > û This SF.net email is sponsored by: Splunk > > Inc. Do > > > > you grep > > > > û through log files > > > > û for problems? Stop! Download the new AJAX > > search > > > > engine that makes > > > > û searching your log files as easy as surfing > > the > > > > web. > > > > û DOWNLOAD SPLUNK! > > > > û > > > > > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > û > > _______________________________________________ > > > > û Jsdsi-users mailing list > > > > û Jsd...@li... > > > > û > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > > > > Êç Ãâ¦Ãâ Ã¥ðç ïùÃËÃâ çÃâ¡ ÃËìïÃâ çÃâ¡ > > ÃâñÊè .. Ãâ óãÃâÃÆ ÃŠç çÃâÃâÃ⡠Êç Ãâ¦Ãâçð > > ÃÆÃâ úñÊè .. ãÃâ êñòÃâÃâ ç çÃâíÊçÃâ¡ > > ùÃâÃâ° Ã(r)÷ÃⰠçÃâíèÊè > > > > > > > > > > > > > > > > > > __________________________________________ > > > Yahoo! DSL ââ¬" Something to write home about. > > > Just $16.99/mo. or less. > > > dsl.yahoo.com > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Splunk Inc. Do > > you grep through log files > > > for problems? Stop! Download the new AJAX search > > engine that makes > > > searching your log files as easy as surfing the > > web. DOWNLOAD SPLUNK! > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > _______________________________________________ > > > Jsdsi-users mailing list > > > Jsd...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > -- > > Sameer > > http://ajmani.net > > N¬HYõ隊X¬²š'²ŠÃu¼'¦[§Ââ°ÃŨº > > æÃk¢è!âËÅ W¬~Šé(r)â Ã¥zk¶ŠC£ > > > 塧mâ¦Ã©ÃÃ@^Ú­Ã^ž§zÃZ¶f¤zÃj·!Å x2¢êå¢ââ¢Ã«Â±Ã¦Â¬Ã«,º·âž a{⺠åÂ,à HòÃ4¨m¶ŸÿiÃ(±ÃâoÃv'ï­ûjYhr'ï:æŠrXÅÂâºÂ²+¬z»&j)bž > b²ÃlvÃ(r)±êìâ+-²Ã.­ÃŸ¢¸Âëa¶Ãlÿùb²Ã,¢êÃyú+Âé÷ùb²Ã?â+-Å wèþ;²+¬z» > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.package credentials.version1_1; import java.security.KeyPair; import java.security.PublicKey; import java.security.cert.CertificateException; import jade.core.Agent; import jade.core.security.SecurityHelper; import jade.lang.acl.ACLMessage; import jade.security.impl.JADEAuthorityImpl; import jsdsi.AuthCert; import jsdsi.Certificate; import jsdsi.Principal; import jsdsi.StringTag; import jsdsi.Subject; import jsdsi.Tag; import jsdsi.Validity; import jsdsi.util.DateUtil; import jsdsi.util.DigestAlgoEnum; /* This class for an agent is supposed to * 1- retrieve it's keyPair * 2- recieve the public key of the receiver agent * 3- create a certificate and sign certificate where the subject is the receiver agent and the signer is the current agent (My Agent) */ public class MyAgent extends Agent{ private SecurityHelper mySecurityHelper = null; private JADEAuthorityImpl myAuthority=null; private KeyPair myKeyPair=null; // The keyPair for the current agent (My Agent) private PublicKey pubKey=null; // public key of the reciever agent // The setup method is the first method to be executed when My Agent is initially launched. protected void setup(){ System.out.println("Hello ! My Agent "+getAID().getName()+" is ready."); //Install the JSDSI provider .. I don't know whether is this the right place for installing the provider or not! jsdsi.Provider.install(); // Get the SecurityHelper; this is the object responsible for the security service provided by the Jade framework mySecurityHelper = (SecurityHelper)getHelper("jade.core.security.Security"); // Get the KeyPair myAuthority= (JADEAuthorityImpl)mySecurityHelper.getAuthority(); myKeyPair=myAuthority.getKeyPair(); //Retieve the receiver agent's public key ; it is supposed that there is another class for the reciever agent which sends its public key to this class //The public key is sent as a serializable object inside a message. ACLMessage reply=receive(); pubKey=(PublicKey)reply.getContentObject(); // Create and sign an Authorization crtificate Certificate c=CreateCertificate(myKeyPair,pubKey); } private Certificate CreateCertificate(KeyPair signer,PublicKey signee ){ Validity v = new Validity(DateUtil.newDate(), DateUtil.newDate(0,0,1)); String dh = "plain"; String c = "test certificate"; Tag t = new StringTag("test"); boolean p = false; System.out.println("ya rab 2"); //Create and Sign the Certificate //the exception occurs in this line AuthCert cert = new AuthCert((Principal) signer.getPublic(), (Subject)signee, v, dh, c, t, p); // if it use the following code instead, no exception is returned /*KeyPair signer1=null,signee2=null; try { signer1 = KeyPairFactory.create(KeyEnum.RSA); signee2 = KeyPairFactory.create(KeyEnum.RSA); } catch (NoSuchAlgorithmException e1) { e1.printStackTrace(); } AuthCert cert = new AuthCert((Principal) signer1.getPublic(), (Subject)signee2.getPublic(), v, dh, c, t, p); */ // an exception also occurrs here // however if i used signer1 instead of signer then no exception jsdsi.Signature sig = jsdsi.Signature.create(signer, cert, DigestAlgoEnum.SHA1); Certificate certificate=null; try { certificate = new Certificate(cert, sig); } catch (CertificateException e) { e.printStackTrace(); } System.out.println(certificate.toString()); return certificate; } } --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. |
From: Somaya A. <som...@ya...> - 2006-01-14 20:33:26
|
Okay, attached plz find a file; it is a small program for an agent trying to create a certificate for another agent. Plz tell me if you have any comments Thanks alot, Somaya Sameer Ajmani <aj...@gm...> wrote: I don't want to run the code -- just visually inspect it. S On 1/13/06, Somaya Aboulwafa wrote: > Hi Sameer, > > Yes i can, but, for you to run it you'll need to > install the Agents framework that i'm using (JADE > multiagent framework). This is becoz, I'm using > keypairs generated by this API. Do u have time to do > this?! > > Thanks, > Somaya > > --- Sameer Ajmani wrote: > > > On 1/5/06, Somaya Aboulwafa > > wrote: > > > Hello, > > > > > > The exception happens when trying to create an > > > authorization certificate using this line of code: > > > > > > AuthCert cert = new AuthCert((Principal) > > > signer.getPublic(), (Subject)signee. getPublic(),, > > v, > > > dh, c, t, p); > > > > > > Where signer and signee parameters are > > > java.security.KeyPair objects generated from > > outside > > > the JSDSI API. > > > > > > The Exception is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > > > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > > at > > > > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > > > > Another exception also occurs when trying to sign > > a > > > certificate using the following line of code: > > > > > > jsdsi.Signature sig = > > jsdsi.Signature.create(signer, > > > cert, DigestAlgoEnum.SHA1); > > > > > > It is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > jsdsi.Signature.create(Signature.java:199) > > > at > > jsdsi.Signature.create(Signature.java:157) > > > at > > jsdsi.Signature.create(Signature.java:109) > > > > Looks like the key you're passing to Signature are > > of the wrong class. > > Can you create a small program that throws this > > exception? e.g., > > create a key pair, then create a signature? > > > > S > > > > > > > > Many Thanks, > > > Somaya > > > > > > > > > > > > --- LuÃÅ s Pedro wrote: > > > > > > > Hello Somaya Aboulwafa, > > > > > > > > Could you send the Exception? > > > > > > > > û -----Original Message----- > > > > û From: jsd...@li... > > > > û > > [mailto:jsd...@li...] > > > > On Behalf Of > > > > û Somaya Aboulwafa > > > > û Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > > > > û To: jsd...@li... > > > > û Cc: aj...@gm... > > > > û Subject: [Jsdsi-users] KeyPairs generated by > > other > > > > APIs ==> Exception > > > > û > > > > û Hi Sameer and everyone, > > > > û > > > > û I'm using JSDSI with another framework (a > > > > Multiagent system > > > > û framework). > > > > û Agents in this framework have their own > > KeyPairs. > > > > û Whenever I try to use those KeyPairs to > > create or > > > > sign > > > > û certificates using JSDSI I got an exception. > > While > > > > if I used > > > > û JSDSI with KeyPairs generated by JSDSI I got > > no > > > > exceptions > > > > û > > > > û So, would you plz help me to figure out the > > > > problem? > > > > û > > > > û Thanks in advance, > > > > û Somaya > > > > û > > > > û > > > > û > > > > û > > > > û __________________________________________ > > > > û Yahoo! DSL ââ¬" Something to write home about. > > > > û Just $16.99/mo. or less. > > > > û dsl.yahoo.com > > > > û > > > > û > > > > û > > > > û > > > > > > > > > > ------------------------------------------------------- > > > > û This SF.net email is sponsored by: Splunk > > Inc. Do > > > > you grep > > > > û through log files > > > > û for problems? Stop! Download the new AJAX > > search > > > > engine that makes > > > > û searching your log files as easy as surfing > > the > > > > web. > > > > û DOWNLOAD SPLUNK! > > > > û > > > > > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > û > > _______________________________________________ > > > > û Jsdsi-users mailing list > > > > û Jsd...@li... > > > > û > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > > > > Êç Ãâ¦Ãâ Ã¥ðç ïùÃËÃâ çÃâ¡ ÃËìïÃâ çÃâ¡ > > ÃâñÊè .. Ãâ óãÃâÃÆ ÃŠç çÃâÃâÃ⡠Êç Ãâ¦Ãâçð > > ÃÆÃâ úñÊè .. ãÃâ êñòÃâÃâ ç çÃâíÊçÃâ¡ > > ùÃâÃâ° Ã(r)÷ÃⰠçÃâíèÊè > > > > > > > > > > > > > > > > > > __________________________________________ > > > Yahoo! DSL ââ¬" Something to write home about. > > > Just $16.99/mo. or less. > > > dsl.yahoo.com > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Splunk Inc. Do > > you grep through log files > > > for problems? Stop! Download the new AJAX search > > engine that makes > > > searching your log files as easy as surfing the > > web. DOWNLOAD SPLUNK! > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > _______________________________________________ > > > Jsdsi-users mailing list > > > Jsd...@li... > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > -- > > Sameer > > http://ajmani.net > > N¬HYõ隊X¬²š'²ŠÃu¼'¦[§Ââ°ÃŨº > > æÃk¢è!âËÅ W¬~Šé(r)â Ã¥zk¶ŠC£ > > > 塧mâ¦Ã©ÃÃ@^Ú­Ã^ž§zÃZ¶f¤zÃj·!Å x2¢êå¢ââ¢Ã«Â±Ã¦Â¬Ã«,º·âž a{⺠åÂ,à HòÃ4¨m¶ŸÿiÃ(±ÃâoÃv'ï­ûjYhr'ï:æŠrXÅÂâºÂ²+¬z»&j)bž > b²ÃlvÃ(r)±êìâ+-²Ã.­ÃŸ¢¸Âëa¶Ãlÿùb²Ã,¢êÃyú+Âé÷ùb²Ã?â+-Å wèþ;²+¬z» > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > -- Sameer http://ajmani.net --------------------------------- Yahoo! Photos Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever. |
From: Sameer A. <aj...@gm...> - 2006-01-14 14:53:28
|
SSBkb24ndCB3YW50IHRvIHJ1biB0aGUgY29kZSAtLSBqdXN0IHZpc3VhbGx5IGluc3BlY3QgaXQu CgpTCgpPbiAxLzEzLzA2LCBTb21heWEgQWJvdWx3YWZhIDxzb21heWFfYWhtYWRAeWFob28uY29t PiB3cm90ZToKPiBIaSBTYW1lZXIsCj4KPiBZZXMgaSBjYW4sIGJ1dCwgZm9yIHlvdSB0byBydW4g aXQgeW91J2xsIG5lZWQgdG8KPiBpbnN0YWxsIHRoZSBBZ2VudHMgZnJhbWV3b3JrIHRoYXQgaSdt IHVzaW5nIChKQURFCj4gbXVsdGlhZ2VudCBmcmFtZXdvcmspLiBUaGlzIGlzIGJlY296LCBJJ20g dXNpbmcKPiBrZXlwYWlycyBnZW5lcmF0ZWQgYnkgdGhpcyBBUEkuIERvIHUgaGF2ZSB0aW1lIHRv IGRvCj4gdGhpcz8hCj4KPiBUaGFua3MsCj4gU29tYXlhCj4KPiAtLS0gU2FtZWVyIEFqbWFuaSA8 YWptYW5pQGdtYWlsLmNvbT4gd3JvdGU6Cj4KPiA+IE9uIDEvNS8wNiwgU29tYXlhIEFib3Vsd2Fm YSA8c29tYXlhX2FobWFkQHlhaG9vLmNvbT4KPiA+IHdyb3RlOgo+ID4gPiBIZWxsbywKPiA+ID4K PiA+ID4gVGhlIGV4Y2VwdGlvbiBoYXBwZW5zIHdoZW4gdHJ5aW5nIHRvIGNyZWF0ZSBhbgo+ID4g PiBhdXRob3JpemF0aW9uIGNlcnRpZmljYXRlIHVzaW5nIHRoaXMgbGluZSBvZiBjb2RlOgo+ID4g Pgo+ID4gPiBBdXRoQ2VydCBjZXJ0ID0gbmV3IEF1dGhDZXJ0KChQcmluY2lwYWwpCj4gPiA+IHNp Z25lci5nZXRQdWJsaWMoKSwgKFN1YmplY3Qpc2lnbmVlLiBnZXRQdWJsaWMoKSwsCj4gPiB2LAo+ ID4gPiBkaCwgYywgdCwgcCk7Cj4gPiA+Cj4gPiA+IFdoZXJlIHNpZ25lciBhbmQgc2lnbmVlIHBh cmFtZXRlcnMgYXJlCj4gPiA+IGphdmEuc2VjdXJpdHkuS2V5UGFpciBvYmplY3RzIGdlbmVyYXRl ZCBmcm9tCj4gPiBvdXRzaWRlCj4gPiA+IHRoZSBKU0RTSSBBUEkuCj4gPiA+Cj4gPiA+IFRoZSBF eGNlcHRpb24gaXMgYXMgZm9sbG93czoKPiA+ID4gamF2YS5sYW5nLkNsYXNzQ2FzdEV4Y2VwdGlv bjoKPiA+ID4gc3VuLnNlY3VyaXR5LnJzYS5SU0FQdWJsaWNLZXlJbXBsCj4gPiA+ICAgICAgICAg YXQKPiA+ID4KPiA+Cj4gY3JlZGVudGlhbHMudmVyc2lvbjFfMC5TZW5kZXJBZ2VudC5DcmVhdGVD ZXJ0aWZpY2F0ZShTZW5kZXJBZ2VudC5qYXZhOjEyMykKPiA+ID4gICAgICAgICBhdAo+ID4gPgo+ ID4KPiBjcmVkZW50aWFscy52ZXJzaW9uMV8wLlNlbmRlckFnZW50LmFjY2VzcyQyKFNlbmRlckFn ZW50LmphdmE6MTExKQo+ID4gPgo+ID4gPgo+ID4gPiBBbm90aGVyIGV4Y2VwdGlvbiBhbHNvIG9j Y3VycyB3aGVuIHRyeWluZyB0byBzaWduCj4gPiBhCj4gPiA+IGNlcnRpZmljYXRlIHVzaW5nIHRo ZSBmb2xsb3dpbmcgbGluZSBvZiBjb2RlOgo+ID4gPgo+ID4gPiBqc2RzaS5TaWduYXR1cmUgc2ln ID0KPiA+IGpzZHNpLlNpZ25hdHVyZS5jcmVhdGUoc2lnbmVyLAo+ID4gPiBjZXJ0LCBEaWdlc3RB bGdvRW51bS5TSEExKTsKPiA+ID4KPiA+ID4gSXQgaXMgYXMgZm9sbG93czoKPiA+ID4gamF2YS5s YW5nLkNsYXNzQ2FzdEV4Y2VwdGlvbjoKPiA+ID4gc3VuLnNlY3VyaXR5LnJzYS5SU0FQdWJsaWNL ZXlJbXBsCj4gPiA+ICAgICAgICAgYXQKPiA+IGpzZHNpLlNpZ25hdHVyZS5jcmVhdGUoU2lnbmF0 dXJlLmphdmE6MTk5KQo+ID4gPiAgICAgICAgIGF0Cj4gPiBqc2RzaS5TaWduYXR1cmUuY3JlYXRl KFNpZ25hdHVyZS5qYXZhOjE1NykKPiA+ID4gICAgICAgICBhdAo+ID4ganNkc2kuU2lnbmF0dXJl LmNyZWF0ZShTaWduYXR1cmUuamF2YToxMDkpCj4gPgo+ID4gTG9va3MgbGlrZSB0aGUga2V5IHlv dSdyZSBwYXNzaW5nIHRvIFNpZ25hdHVyZSBhcmUKPiA+IG9mIHRoZSB3cm9uZyBjbGFzcy4KPiA+ ICBDYW4geW91IGNyZWF0ZSBhIHNtYWxsIHByb2dyYW0gdGhhdCB0aHJvd3MgdGhpcwo+ID4gZXhj ZXB0aW9uPyAgZS5nLiwKPiA+IGNyZWF0ZSBhIGtleSBwYWlyLCB0aGVuIGNyZWF0ZSBhIHNpZ25h dHVyZT8KPiA+Cj4gPiBTCj4gPgo+ID4gPgo+ID4gPiBNYW55IFRoYW5rcywKPiA+ID4gU29tYXlh Cj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+IC0tLSBMdcOZxaBzIFBlZHJvIDxscG1idkBuZXRjYWJv LnB0PiB3cm90ZToKPiA+ID4KPiA+ID4gPiBIZWxsbyBTb21heWEgQWJvdWx3YWZhLAo+ID4gPiA+ Cj4gPiA+ID4gQ291bGQgeW91IHNlbmQgdGhlIEV4Y2VwdGlvbj8KPiA+ID4gPgo+ID4gPiA+IMOC wrsgLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiDDgsK7IEZyb206IGpzZHNpLXVz ZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ID4gPiA+IMOCwrsKPiA+IFttYWlsdG86 anNkc2ktdXNlcnMtYWRtaW5AbGlzdHMuc291cmNlZm9yZ2UubmV0XQo+ID4gPiA+IE9uIEJlaGFs ZiBPZgo+ID4gPiA+IMOCwrsgU29tYXlhIEFib3Vsd2FmYQo+ID4gPiA+IMOCwrsgU2VudDogcXVp bnRhLWZlaXJhLCA1IGRlIEphbmVpcm8gZGUgMjAwNiA3OjMyCj4gPiA+ID4gw4LCuyBUbzoganNk c2ktdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gPiA+ID4gw4LCuyBDYzogYWptYW5pQGdt YWlsLmNvbQo+ID4gPiA+IMOCwrsgU3ViamVjdDogW0pzZHNpLXVzZXJzXSBLZXlQYWlycyBnZW5l cmF0ZWQgYnkKPiA+IG90aGVyCj4gPiA+ID4gQVBJcyA9PT4gRXhjZXB0aW9uCj4gPiA+ID4gw4LC uwo+ID4gPiA+IMOCwrsgSGkgU2FtZWVyIGFuZCBldmVyeW9uZSwKPiA+ID4gPiDDgsK7Cj4gPiA+ ID4gw4LCuyBJJ20gdXNpbmcgSlNEU0kgd2l0aCBhbm90aGVyIGZyYW1ld29yayAoYQo+ID4gPiA+ IE11bHRpYWdlbnQgc3lzdGVtCj4gPiA+ID4gw4LCuyBmcmFtZXdvcmspLgo+ID4gPiA+IMOCwrsg QWdlbnRzIGluIHRoaXMgZnJhbWV3b3JrIGhhdmUgdGhlaXIgb3duCj4gPiBLZXlQYWlycy4KPiA+ ID4gPiDDgsK7IFdoZW5ldmVyIEkgdHJ5IHRvIHVzZSB0aG9zZSBLZXlQYWlycyB0bwo+ID4gY3Jl YXRlIG9yCj4gPiA+ID4gc2lnbgo+ID4gPiA+IMOCwrsgY2VydGlmaWNhdGVzIHVzaW5nIEpTRFNJ IEkgZ290IGFuIGV4Y2VwdGlvbi4KPiA+IFdoaWxlCj4gPiA+ID4gaWYgSSB1c2VkCj4gPiA+ID4g w4LCuyBKU0RTSSB3aXRoIEtleVBhaXJzIGdlbmVyYXRlZCBieSBKU0RTSSBJIGdvdAo+ID4gbm8K PiA+ID4gPiBleGNlcHRpb25zCj4gPiA+ID4gw4LCuwo+ID4gPiA+IMOCwrsgU28sIHdvdWxkIHlv dSBwbHogaGVscCBtZSB0byBmaWd1cmUgb3V0IHRoZQo+ID4gPiA+IHByb2JsZW0/Cj4gPiA+ID4g w4LCuwo+ID4gPiA+IMOCwrsgVGhhbmtzIGluIGFkdmFuY2UsCj4gPiA+ID4gw4LCuyBTb21heWEK PiA+ID4gPiDDgsK7Cj4gPiA+ID4gw4LCuwo+ID4gPiA+IMOCwrsKPiA+ID4gPiDDgsK7Cj4gPiA+ ID4gw4LCuyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4g PiDDgsK7IFlhaG9vISBEU0wgw6LigqwiIFNvbWV0aGluZyB0byB3cml0ZSBob21lIGFib3V0Lgo+ ID4gPiA+IMOCwrsgSnVzdCAkMTYuOTkvbW8uIG9yIGxlc3MuCj4gPiA+ID4gw4LCuyBkc2wueWFo b28uY29tCj4gPiA+ID4gw4LCuwo+ID4gPiA+IMOCwrsKPiA+ID4gPiDDgsK7Cj4gPiA+ID4gw4LC uwo+ID4gPiA+Cj4gPiA+Cj4gPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiDDgsK7IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNw b25zb3JlZCBieTogU3BsdW5rCj4gPiBJbmMuIERvCj4gPiA+ID4geW91IGdyZXAKPiA+ID4gPiDD gsK7IHRocm91Z2ggbG9nIGZpbGVzCj4gPiA+ID4gw4LCuyBmb3IgcHJvYmxlbXM/ICBTdG9wISAg RG93bmxvYWQgdGhlIG5ldyBBSkFYCj4gPiBzZWFyY2gKPiA+ID4gPiBlbmdpbmUgdGhhdCBtYWtl cwo+ID4gPiA+IMOCwrsgc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3VyZmlu Zwo+ID4gdGhlCj4gPiA+ID4gd2ViLgo+ID4gPiA+IMOCwrsgRE9XTkxPQUQgU1BMVU5LIQo+ID4g PiA+IMOCwrsKPiA+ID4gPgo+ID4gPgo+ID4KPiBodHRwOi8vYWRzLm9zZG4uY29tLz9hZF9pZD03 NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4gPiA+ID4gw4LCuwo+ID4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+ID4gPiDDgsK7IEpzZHNpLXVz ZXJzIG1haWxpbmcgbGlzdAo+ID4gPiA+IMOCwrsgSnNkc2ktdXNlcnNAbGlzdHMuc291cmNlZm9y Z2UubmV0Cj4gPiA+ID4gw4LCuwo+ID4gPiA+Cj4gPiA+Cj4gPgo+IGh0dHBzOi8vbGlzdHMuc291 cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2pzZHNpLXVzZXJzCj4gPiA+ID4KPiA+ID4gPgo+ ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiDDmcWgw5jCpyDDmeKApsOZ4oCgIMOYwqXDmMKww5jCpyDD mMKvw5jCucOZy4bDmeKAoMOYwqfDmeKAoSDDmcuGw5jCrMOYwq/DmeKAoMOYwqfDmeKAoQo+ID4g w5nigJrDmMKxw5nFoMOYwqggLi4gw5nigKDDmMKzw5jCo8OZ4oCew5nGkiDDmcWgw5jCpyDDmMKn w5nigJ7DmeKAnsOZ4oChIMOZxaDDmMKnIMOZ4oCmw5nigJ7DmMKnw5jCsAo+ID4gw5nGksOZ4oCe IMOYwrrDmMKxw5nFoMOYwqggLi4gw5jCo8OZ4oCgIMOYwqrDmMKxw5jCssOZ4oCaw5nigKDDmMKn IMOYwqfDmeKAnsOYwq3DmcWgw5jCp8OZ4oChCj4gPiDDmMK5w5nigJ7DmeKAsCDDmChyKcOYwrfD meKAsCDDmMKnw5nigJ7DmMKtw5jCqMOZxaDDmMKoCj4gPiA+Cj4gPiA+Cj4gPiA+Cj4gPiA+Cj4g PiA+Cj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g PiBZYWhvbyEgRFNMIMOi4oKsIiBTb21ldGhpbmcgdG8gd3JpdGUgaG9tZSBhYm91dC4KPiA+ID4g SnVzdCAkMTYuOTkvbW8uIG9yIGxlc3MuCj4gPiA+IGRzbC55YWhvby5jb20KPiA+ID4KPiA+ID4K PiA+ID4KPiA+ID4KPiA+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+ID4gPiBUaGlzIFNGLm5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnk6 IFNwbHVuayBJbmMuIERvCj4gPiB5b3UgZ3JlcCB0aHJvdWdoIGxvZyBmaWxlcwo+ID4gPiBmb3Ig cHJvYmxlbXM/ICBTdG9wISAgRG93bmxvYWQgdGhlIG5ldyBBSkFYIHNlYXJjaAo+ID4gZW5naW5l IHRoYXQgbWFrZXMKPiA+ID4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3Vy ZmluZyB0aGUKPiA+IHdlYi4gIERPV05MT0FEIFNQTFVOSyEKPiA+ID4KPiA+Cj4gaHR0cDovL2Fk cy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0xNjg2NSZvcD1jbGljawo+ID4gPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBKc2RzaS11 c2VycyBtYWlsaW5nIGxpc3QKPiA+ID4gSnNkc2ktdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0 Cj4gPiA+Cj4gPgo+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L2pzZHNpLXVzZXJzCj4gPiA+Cj4gPiA+Cj4gPgo+ID4KPiA+IC0tCj4gPiBTYW1lZXIKPiA+IGh0 dHA6Ly9ham1hbmkubmV0Cj4gPiBOGMKsSFnDnsK1w6nFocWgWMKswrLFoSfCssWgw551wrwnwqZb wqfCkOKAsMOcDsWSwqjCugo+ID4gw57CpsOYa8Kiw6gh4oCTy4YfxaBXwqx+xaDDqShyKeKAoMOl emsSwrbFoEPCowo+ID4KPiDDpcKhwqdt4oCmw6nDnsOAAkBew4fFocKtw4hexb4Iwqd6w5hawrZm wqR6w4seasK3IcWgeDLCosOqw6XCogfDouKAosOrGsKxw6bCrMOJwqsswrrCt8Oixb4LYXsH4oC6 DMOlwo0sw6ADSMOyw5Q0wqhtwrbFuMO/acObKMKxw5nDnMKib8OadifDr8Ktw7tqWWhyJ8OXwq86 w6bFoHJYxZPCkOKAuh3CsivCrHrCuyZqKWLFvgo+IGLCssOSbHbDiChyKcKxw6rDrOKAkystwrLD ii7CrcOHxbjCosK4HsKdw6thwrbDmmzDv8O5YsKyw5sswqLDqsOcecO6K8KBw6nDnsK3w7liwrLD mz/igJMrLcWgd8Oow747HcKyK8KsesK7Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gRG8gWW91IFlhaG9vIT8KPiBUaXJlZCBvZiBzcGFt PyAgWWFob28hIE1haWwgaGFzIHRoZSBiZXN0IHNwYW0gcHJvdGVjdGlvbiBhcm91bmQKPiBodHRw Oi8vbWFpbC55YWhvby5jb20KPgoKCi0tClNhbWVlcgpodHRwOi8vYWptYW5pLm5ldAo= |
From: Somaya A. <som...@ya...> - 2006-01-13 21:15:50
|
Hi Sameer, I dont think that Im using wrong classes. I am using keyPairs that are objects of java.security.KeyPair class. And Im using getPublic() method to get the public key object. Am i doing anything wrong? Thanks for your help Somaya --- Somaya Aboulwafa <som...@ya...> wrote: > Hi Sameer, > > Yes i can, but, for you to run it you'll need to > install the Agents framework that i'm using (JADE > multiagent framework). This is becoz, I'm using > keypairs generated by this API. Do u have time to do > this?! > > Thanks, > Somaya > > --- Sameer Ajmani <aj...@gm...> wrote: > > > On 1/5/06, Somaya Aboulwafa > <som...@ya...> > > wrote: > > > Hello, > > > > > > The exception happens when trying to create an > > > authorization certificate using this line of > code: > > > > > > AuthCert cert = new AuthCert((Principal) > > > signer.getPublic(), (Subject)signee. > getPublic(),, > > v, > > > dh, c, t, p); > > > > > > Where signer and signee parameters are > > > java.security.KeyPair objects generated from > > outside > > > the JSDSI API. > > > > > > The Exception is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > > > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > > at > > > > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > > > > Another exception also occurs when trying to > sign > > a > > > certificate using the following line of code: > > > > > > jsdsi.Signature sig = > > jsdsi.Signature.create(signer, > > > cert, DigestAlgoEnum.SHA1); > > > > > > It is as follows: > > > java.lang.ClassCastException: > > > sun.security.rsa.RSAPublicKeyImpl > > > at > > jsdsi.Signature.create(Signature.java:199) > > > at > > jsdsi.Signature.create(Signature.java:157) > > > at > > jsdsi.Signature.create(Signature.java:109) > > > > Looks like the key you're passing to Signature are > > of the wrong class. > > Can you create a small program that throws this > > exception? e.g., > > create a key pair, then create a signature? > > > > S > > > > > > > > Many Thanks, > > > Somaya > > > > > > > > > > > > --- LuÙs Pedro <lp...@ne...> wrote: > > > > > > > Hello Somaya Aboulwafa, > > > > > > > > Could you send the Exception? > > > > > > > > » -----Original Message----- > > > > » From: > jsd...@li... > > > > » > > [mailto:jsd...@li...] > > > > On Behalf Of > > > > » Somaya Aboulwafa > > > > » Sent: quinta-feira, 5 de Janeiro de 2006 > 7:32 > > > > » To: jsd...@li... > > > > » Cc: aj...@gm... > > > > » Subject: [Jsdsi-users] KeyPairs generated > by > > other > > > > APIs ==> Exception > > > > » > > > > » Hi Sameer and everyone, > > > > » > > > > » I'm using JSDSI with another framework (a > > > > Multiagent system > > > > » framework). > > > > » Agents in this framework have their own > > KeyPairs. > > > > » Whenever I try to use those KeyPairs to > > create or > > > > sign > > > > » certificates using JSDSI I got an > exception. > > While > > > > if I used > > > > » JSDSI with KeyPairs generated by JSDSI I > got > > no > > > > exceptions > > > > » > > > > » So, would you plz help me to figure out the > > > > problem? > > > > » > > > > » Thanks in advance, > > > > » Somaya > > > > » > > > > » > > > > » > > > > » > > > > » __________________________________________ > > > > » Yahoo! DSL â Something to write home > about. > > > > » Just $16.99/mo. or less. > > > > » dsl.yahoo.com > > > > » > > > > » > > > > » > > > > » > > > > > > > > > > ------------------------------------------------------- > > > > » This SF.net email is sponsored by: Splunk > > Inc. Do > > > > you grep > > > > » through log files > > > > » for problems? Stop! Download the new AJAX > > search > > > > engine that makes > > > > » searching your log files as easy as surfing > > the > > > > web. > > > > » DOWNLOAD SPLUNK! > > > > » > > > > > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > > » > > _______________________________________________ > > > > » Jsdsi-users mailing list > > > > » Jsd...@li... > > > > » > > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > > > > > > > Ùا ٠٠إذا دعÙÙا٠ÙجدÙا٠> > ÙرÙب .. ÙسأÙÙ Ùا اÙÙÙ Ùا Ù Ùاذ > > Ù٠غرÙب .. أ٠ترزÙÙا اÙØÙا٠> > عÙ٠خط٠اÙØبÙب > > > > > > > > > > > > > > > > > > __________________________________________ > > > Yahoo! DSL â Something to write home about. > > > Just $16.99/mo. or less. > > > dsl.yahoo.com > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This SF.net email is sponsored by: Splunk Inc. > Do > > you grep through log files > > > for problems? Stop! Download the new AJAX > search > > engine that makes > > > searching your log files as easy as surfing the > > web. DOWNLOAD SPLUNK! > > > > > > === message truncated === íÇ ãä ÅÐÇ ÏÚæäÇå æÌÏäÇå ÞÑíÈ .. äÓÃáß íÇ Çááå íÇ ãáÇÐ ßá ÛÑíÈ .. Ãä ÊÑÒÞäÇ ÇáÍíÇå Úáì ÎØì ÇáÍÈíÈ __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Somaya A. <som...@ya...> - 2006-01-13 19:29:19
|
Hi Sameer, Yes i can, but, for you to run it you'll need to install the Agents framework that i'm using (JADE multiagent framework). This is becoz, I'm using keypairs generated by this API. Do u have time to do this?! Thanks, Somaya --- Sameer Ajmani <aj...@gm...> wrote: > On 1/5/06, Somaya Aboulwafa <som...@ya...> > wrote: > > Hello, > > > > The exception happens when trying to create an > > authorization certificate using this line of code: > > > > AuthCert cert = new AuthCert((Principal) > > signer.getPublic(), (Subject)signee. getPublic(),, > v, > > dh, c, t, p); > > > > Where signer and signee parameters are > > java.security.KeyPair objects generated from > outside > > the JSDSI API. > > > > The Exception is as follows: > > java.lang.ClassCastException: > > sun.security.rsa.RSAPublicKeyImpl > > at > > > credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) > > at > > > credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) > > > > > > Another exception also occurs when trying to sign > a > > certificate using the following line of code: > > > > jsdsi.Signature sig = > jsdsi.Signature.create(signer, > > cert, DigestAlgoEnum.SHA1); > > > > It is as follows: > > java.lang.ClassCastException: > > sun.security.rsa.RSAPublicKeyImpl > > at > jsdsi.Signature.create(Signature.java:199) > > at > jsdsi.Signature.create(Signature.java:157) > > at > jsdsi.Signature.create(Signature.java:109) > > Looks like the key you're passing to Signature are > of the wrong class. > Can you create a small program that throws this > exception? e.g., > create a key pair, then create a signature? > > S > > > > > Many Thanks, > > Somaya > > > > > > > > --- LuÙs Pedro <lp...@ne...> wrote: > > > > > Hello Somaya Aboulwafa, > > > > > > Could you send the Exception? > > > > > > » -----Original Message----- > > > » From: jsd...@li... > > > » > [mailto:jsd...@li...] > > > On Behalf Of > > > » Somaya Aboulwafa > > > » Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > > > » To: jsd...@li... > > > » Cc: aj...@gm... > > > » Subject: [Jsdsi-users] KeyPairs generated by > other > > > APIs ==> Exception > > > » > > > » Hi Sameer and everyone, > > > » > > > » I'm using JSDSI with another framework (a > > > Multiagent system > > > » framework). > > > » Agents in this framework have their own > KeyPairs. > > > » Whenever I try to use those KeyPairs to > create or > > > sign > > > » certificates using JSDSI I got an exception. > While > > > if I used > > > » JSDSI with KeyPairs generated by JSDSI I got > no > > > exceptions > > > » > > > » So, would you plz help me to figure out the > > > problem? > > > » > > > » Thanks in advance, > > > » Somaya > > > » > > > » > > > » > > > » > > > » __________________________________________ > > > » Yahoo! DSL â Something to write home about. > > > » Just $16.99/mo. or less. > > > » dsl.yahoo.com > > > » > > > » > > > » > > > » > > > > > > ------------------------------------------------------- > > > » This SF.net email is sponsored by: Splunk > Inc. Do > > > you grep > > > » through log files > > > » for problems? Stop! Download the new AJAX > search > > > engine that makes > > > » searching your log files as easy as surfing > the > > > web. > > > » DOWNLOAD SPLUNK! > > > » > > > > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > > » > _______________________________________________ > > > » Jsdsi-users mailing list > > > » Jsd...@li... > > > » > > > > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > > > > > > > > Ùا ٠٠إذا دعÙÙا٠ÙجدÙا٠> ÙرÙب .. ÙسأÙÙ Ùا اÙÙÙ Ùا Ù Ùاذ > Ù٠غرÙب .. أ٠ترزÙÙا اÙØÙا٠> عÙ٠خط٠اÙØبÙب > > > > > > > > > > > > __________________________________________ > > Yahoo! DSL â Something to write home about. > > Just $16.99/mo. or less. > > dsl.yahoo.com > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: Splunk Inc. Do > you grep through log files > > for problems? Stop! Download the new AJAX search > engine that makes > > searching your log files as easy as surfing the > web. DOWNLOAD SPLUNK! > > > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > > _______________________________________________ > > Jsdsi-users mailing list > > Jsd...@li... > > > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > > > > > > -- > Sameer > http://ajmani.net > N¬HYÞµéX¬²'²Þu¼¦[§Ü¨º > Þ¦Øk¢è!W¬~é®åzk¶C£ > 塧m éÞÀ@^ÇÈ^§zØZ¶f¤zËj·!x2¢êå¢âë±æ¬É«,º·âa{å,àHòÔ4¨m¶ÿiÛ(±ÙÜ¢oÚv'ïûjYhr'ׯ:ærX²+¬z»&j)b b²ÒlvÈ®±êì+-²Ê.Ç¢¸ëa¶Úlÿùb²Û,¢êÜyú+éÞ·ùb²Û?+-wèþ;²+¬z» __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Sameer A. <aj...@gm...> - 2006-01-11 06:37:08
|
T24gMS81LzA2LCBTb21heWEgQWJvdWx3YWZhIDxzb21heWFfYWhtYWRAeWFob28uY29tPiB3cm90 ZToKPiBIZWxsbywKPgo+IFRoZSBleGNlcHRpb24gaGFwcGVucyB3aGVuIHRyeWluZyB0byBjcmVh dGUgYW4KPiBhdXRob3JpemF0aW9uIGNlcnRpZmljYXRlIHVzaW5nIHRoaXMgbGluZSBvZiBjb2Rl Ogo+Cj4gQXV0aENlcnQgY2VydCA9IG5ldyBBdXRoQ2VydCgoUHJpbmNpcGFsKQo+IHNpZ25lci5n ZXRQdWJsaWMoKSwgKFN1YmplY3Qpc2lnbmVlLiBnZXRQdWJsaWMoKSwsIHYsCj4gZGgsIGMsIHQs IHApOwo+Cj4gV2hlcmUgc2lnbmVyIGFuZCBzaWduZWUgcGFyYW1ldGVycyBhcmUKPiBqYXZhLnNl Y3VyaXR5LktleVBhaXIgb2JqZWN0cyBnZW5lcmF0ZWQgZnJvbSBvdXRzaWRlCj4gdGhlIEpTRFNJ IEFQSS4KPgo+IFRoZSBFeGNlcHRpb24gaXMgYXMgZm9sbG93czoKPiBqYXZhLmxhbmcuQ2xhc3ND YXN0RXhjZXB0aW9uOgo+IHN1bi5zZWN1cml0eS5yc2EuUlNBUHVibGljS2V5SW1wbAo+ICAgICAg ICAgYXQKPiBjcmVkZW50aWFscy52ZXJzaW9uMV8wLlNlbmRlckFnZW50LkNyZWF0ZUNlcnRpZmlj YXRlKFNlbmRlckFnZW50LmphdmE6MTIzKQo+ICAgICAgICAgYXQKPiBjcmVkZW50aWFscy52ZXJz aW9uMV8wLlNlbmRlckFnZW50LmFjY2VzcyQyKFNlbmRlckFnZW50LmphdmE6MTExKQo+Cj4KPiBB bm90aGVyIGV4Y2VwdGlvbiBhbHNvIG9jY3VycyB3aGVuIHRyeWluZyB0byBzaWduIGEKPiBjZXJ0 aWZpY2F0ZSB1c2luZyB0aGUgZm9sbG93aW5nIGxpbmUgb2YgY29kZToKPgo+IGpzZHNpLlNpZ25h dHVyZSBzaWcgPSBqc2RzaS5TaWduYXR1cmUuY3JlYXRlKHNpZ25lciwKPiBjZXJ0LCBEaWdlc3RB bGdvRW51bS5TSEExKTsKPgo+IEl0IGlzIGFzIGZvbGxvd3M6Cj4gamF2YS5sYW5nLkNsYXNzQ2Fz dEV4Y2VwdGlvbjoKPiBzdW4uc2VjdXJpdHkucnNhLlJTQVB1YmxpY0tleUltcGwKPiAgICAgICAg IGF0IGpzZHNpLlNpZ25hdHVyZS5jcmVhdGUoU2lnbmF0dXJlLmphdmE6MTk5KQo+ICAgICAgICAg YXQganNkc2kuU2lnbmF0dXJlLmNyZWF0ZShTaWduYXR1cmUuamF2YToxNTcpCj4gICAgICAgICBh dCBqc2RzaS5TaWduYXR1cmUuY3JlYXRlKFNpZ25hdHVyZS5qYXZhOjEwOSkKCkxvb2tzIGxpa2Ug dGhlIGtleSB5b3UncmUgcGFzc2luZyB0byBTaWduYXR1cmUgYXJlIG9mIHRoZSB3cm9uZyBjbGFz cy4KIENhbiB5b3UgY3JlYXRlIGEgc21hbGwgcHJvZ3JhbSB0aGF0IHRocm93cyB0aGlzIGV4Y2Vw dGlvbj8gIGUuZy4sCmNyZWF0ZSBhIGtleSBwYWlyLCB0aGVuIGNyZWF0ZSBhIHNpZ25hdHVyZT8K ClMKCj4KPiBNYW55IFRoYW5rcywKPiBTb21heWEKPgo+Cj4KPiAtLS0gTHXZinMgUGVkcm8gPGxw bWJ2QG5ldGNhYm8ucHQ+IHdyb3RlOgo+Cj4gPiBIZWxsbyBTb21heWEgQWJvdWx3YWZhLAo+ID4K PiA+IENvdWxkIHlvdSBzZW5kIHRoZSBFeGNlcHRpb24/Cj4gPgo+ID4gwrsgLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPiA+IMK7IEZyb206IGpzZHNpLXVzZXJzLWFkbWluQGxpc3RzLnNvdXJj ZWZvcmdlLm5ldAo+ID4gwrsgW21haWx0bzpqc2RzaS11c2Vycy1hZG1pbkBsaXN0cy5zb3VyY2Vm b3JnZS5uZXRdCj4gPiBPbiBCZWhhbGYgT2YKPiA+IMK7IFNvbWF5YSBBYm91bHdhZmEKPiA+IMK7 IFNlbnQ6IHF1aW50YS1mZWlyYSwgNSBkZSBKYW5laXJvIGRlIDIwMDYgNzozMgo+ID4gwrsgVG86 IGpzZHNpLXVzZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ID4gwrsgQ2M6IGFqbWFuaUBnbWFp bC5jb20KPiA+IMK7IFN1YmplY3Q6IFtKc2RzaS11c2Vyc10gS2V5UGFpcnMgZ2VuZXJhdGVkIGJ5 IG90aGVyCj4gPiBBUElzID09PiBFeGNlcHRpb24KPiA+IMK7Cj4gPiDCuyBIaSBTYW1lZXIgYW5k IGV2ZXJ5b25lLAo+ID4gwrsKPiA+IMK7IEknbSB1c2luZyBKU0RTSSB3aXRoIGFub3RoZXIgZnJh bWV3b3JrIChhCj4gPiBNdWx0aWFnZW50IHN5c3RlbQo+ID4gwrsgZnJhbWV3b3JrKS4KPiA+IMK7 IEFnZW50cyBpbiB0aGlzIGZyYW1ld29yayBoYXZlIHRoZWlyIG93biBLZXlQYWlycy4KPiA+IMK7 IFdoZW5ldmVyIEkgdHJ5IHRvIHVzZSB0aG9zZSBLZXlQYWlycyB0byBjcmVhdGUgb3IKPiA+IHNp Z24KPiA+IMK7IGNlcnRpZmljYXRlcyB1c2luZyBKU0RTSSBJIGdvdCBhbiBleGNlcHRpb24uIFdo aWxlCj4gPiBpZiBJIHVzZWQKPiA+IMK7IEpTRFNJIHdpdGggS2V5UGFpcnMgZ2VuZXJhdGVkIGJ5 IEpTRFNJIEkgZ290IG5vCj4gPiBleGNlcHRpb25zCj4gPiDCuwo+ID4gwrsgU28sIHdvdWxkIHlv dSBwbHogaGVscCBtZSB0byBmaWd1cmUgb3V0IHRoZQo+ID4gcHJvYmxlbT8KPiA+IMK7Cj4gPiDC uyBUaGFua3MgaW4gYWR2YW5jZSwKPiA+IMK7IFNvbWF5YQo+ID4gwrsKPiA+IMK7Cj4gPiDCuwo+ ID4gwrsKPiA+IMK7IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ ID4gwrsgWWFob28hIERTTCDigJMgU29tZXRoaW5nIHRvIHdyaXRlIGhvbWUgYWJvdXQuCj4gPiDC uyBKdXN0ICQxNi45OS9tby4gb3IgbGVzcy4KPiA+IMK7IGRzbC55YWhvby5jb20KPiA+IMK7Cj4g PiDCuwo+ID4gwrsKPiA+IMK7Cj4gPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+IMK7IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25z b3JlZCBieTogU3BsdW5rIEluYy4gRG8KPiA+IHlvdSBncmVwCj4gPiDCuyB0aHJvdWdoIGxvZyBm aWxlcwo+ID4gwrsgZm9yIHByb2JsZW1zPyAgU3RvcCEgIERvd25sb2FkIHRoZSBuZXcgQUpBWCBz ZWFyY2gKPiA+IGVuZ2luZSB0aGF0IG1ha2VzCj4gPiDCuyBzZWFyY2hpbmcgeW91ciBsb2cgZmls ZXMgYXMgZWFzeSBhcyBzdXJmaW5nIHRoZQo+ID4gd2ViLgo+ID4gwrsgRE9XTkxPQUQgU1BMVU5L IQo+ID4gwrsKPiA+Cj4gaHR0cDovL2Fkcy5vc2RuLmNvbS8/YWRfaWQ9NzYzNyZhbGxvY19pZD0x Njg2NSZvcD1jbGljawo+ID4gwrsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiA+IMK7IEpzZHNpLXVzZXJzIG1haWxpbmcgbGlzdAo+ID4gwrsgSnNkc2kt dXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gPiDCuwo+ID4KPiBodHRwczovL2xpc3RzLnNv dXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9qc2RzaS11c2Vycwo+ID4KPiA+Cj4KPgo+Cj4g 2YrYpyDZhdmGINil2LDYpyDYr9i52YjZhtin2Ycg2YjYrNiv2YbYp9mHINmC2LHZitioIC4uINmG 2LPYo9mE2YMg2YrYpyDYp9mE2YTZhyDZitinINmF2YTYp9iwINmD2YQg2LrYsdmK2KggLi4g2KPZ hiDYqtix2LLZgtmG2Kcg2KfZhNit2YrYp9mHINi52YTZiSDYrti32Ykg2KfZhNit2KjZitioCj4K Pgo+Cj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFlh aG9vISBEU0wg4oCTIFNvbWV0aGluZyB0byB3cml0ZSBob21lIGFib3V0Lgo+IEp1c3QgJDE2Ljk5 L21vLiBvciBsZXNzLgo+IGRzbC55YWhvby5jb20KPgo+Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGhpcyBTRi5uZXQgZW1haWwg aXMgc3BvbnNvcmVkIGJ5OiBTcGx1bmsgSW5jLiBEbyB5b3UgZ3JlcCB0aHJvdWdoIGxvZyBmaWxl cwo+IGZvciBwcm9ibGVtcz8gIFN0b3AhICBEb3dubG9hZCB0aGUgbmV3IEFKQVggc2VhcmNoIGVu Z2luZSB0aGF0IG1ha2VzCj4gc2VhcmNoaW5nIHlvdXIgbG9nIGZpbGVzIGFzIGVhc3kgYXMgc3Vy ZmluZyB0aGUgIHdlYi4gIERPV05MT0FEIFNQTFVOSyEKPiBodHRwOi8vYWRzLm9zZG4uY29tLz9h ZF9pZD03NjM3JmFsbG9jX2lkPTE2ODY1Jm9wPWNsaWNrCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBKc2RzaS11c2VycyBtYWlsaW5nIGxpc3QKPiBK c2RzaS11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBodHRwczovL2xpc3RzLnNvdXJjZWZv cmdlLm5ldC9saXN0cy9saXN0aW5mby9qc2RzaS11c2Vycwo+Cj4KCgotLQpTYW1lZXIKaHR0cDov L2FqbWFuaS5uZXQK |
From: Somaya A. <som...@ya...> - 2006-01-05 14:10:25
|
Hello, The exception happens when trying to create an authorization certificate using this line of code: AuthCert cert = new AuthCert((Principal) signer.getPublic(), (Subject)signee. getPublic(),, v, dh, c, t, p); Where signer and signee parameters are java.security.KeyPair objects generated from outside the JSDSI API. The Exception is as follows: java.lang.ClassCastException: sun.security.rsa.RSAPublicKeyImpl at credentials.version1_0.SenderAgent.CreateCertificate(SenderAgent.java:123) at credentials.version1_0.SenderAgent.access$2(SenderAgent.java:111) Another exception also occurs when trying to sign a certificate using the following line of code: jsdsi.Signature sig = jsdsi.Signature.create(signer, cert, DigestAlgoEnum.SHA1); It is as follows: java.lang.ClassCastException: sun.security.rsa.RSAPublicKeyImpl at jsdsi.Signature.create(Signature.java:199) at jsdsi.Signature.create(Signature.java:157) at jsdsi.Signature.create(Signature.java:109) Many Thanks, Somaya --- Luís Pedro <lp...@ne...> wrote: > Hello Somaya Aboulwafa, > > Could you send the Exception? > > » -----Original Message----- > » From: jsd...@li... > » [mailto:jsd...@li...] > On Behalf Of > » Somaya Aboulwafa > » Sent: quinta-feira, 5 de Janeiro de 2006 7:32 > » To: jsd...@li... > » Cc: aj...@gm... > » Subject: [Jsdsi-users] KeyPairs generated by other > APIs ==> Exception > » > » Hi Sameer and everyone, > » > » Im using JSDSI with another framework (a > Multiagent system > » framework). > » Agents in this framework have their own KeyPairs. > » Whenever I try to use those KeyPairs to create or > sign > » certificates using JSDSI I got an exception. While > if I used > » JSDSI with KeyPairs generated by JSDSI I got no > exceptions > » > » So, would you plz help me to figure out the > problem? > » > » Thanks in advance, > » Somaya > » > » > » > » > » __________________________________________ > » Yahoo! DSL Something to write home about. > » Just $16.99/mo. or less. > » dsl.yahoo.com > » > » > » > » > ------------------------------------------------------- > » This SF.net email is sponsored by: Splunk Inc. Do > you grep > » through log files > » for problems? Stop! Download the new AJAX search > engine that makes > » searching your log files as easy as surfing the > web. > » DOWNLOAD SPLUNK! > » > http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click > » _______________________________________________ > » Jsdsi-users mailing list > » Jsd...@li... > » > https://lists.sourceforge.net/lists/listinfo/jsdsi-users > > íÇ ãä ÅÐÇ ÏÚæäÇå æÌÏäÇå ÞÑíÈ .. äÓÃáß íÇ Çááå íÇ ãáÇÐ ßá ÛÑíÈ .. Ãä ÊÑÒÞäÇ ÇáÍíÇå Úáì ÎØì ÇáÍÈíÈ __________________________________________ Yahoo! DSL Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com |
From: Somaya A. <som...@ya...> - 2006-01-05 07:32:05
|
Hi Sameer and everyone, Im using JSDSI with another framework (a Multiagent system framework). Agents in this framework have their own KeyPairs. Whenever I try to use those KeyPairs to create or sign certificates using JSDSI I got an exception. While if I used JSDSI with KeyPairs generated by JSDSI I got no exceptions So, would you plz help me to figure out the problem? Thanks in advance, Somaya __________________________________________ Yahoo! DSL Something to write home about. Just $16.99/mo. or less. dsl.yahoo.com |
From: Sameer A. <aj...@gm...> - 2005-11-05 03:43:28
|
SXQgcmVnaXN0ZXJzIHRoZSBTUEtJIGNyeXB0b2dyYXBoaWMgcHJvdmlkZXIgd2l0aCB0aGUgSmF2 YSBydW50aW1lLiAKVGhlIEtleVBhaXJGYWN0b3J5IGNyZWF0aW9uIG1ldGhvZCB1c2VzIHRoZSBw cm92aWRlciB0byBmaW5kIHRoZQpjbGFzc2VzIGl0IG5lZWRzLgoKUwoKT24gMTEvMy8wNSwgU29t YXlhIEFib3Vsd2FmYSA8c29tYXlhX2FobWFkQHlhaG9vLmNvbT4gd3JvdGU6Cj4gVGhhbmtzLiBC dXQgd2hhdCBkb2VzICBqc2RzaS5Qcm92aWRlci5pbnN0YWxsKCkgYWN0dWFsbHkgZG8gPwo+Cj4g U2FtZWVyIEFqbWFuaSA8YWptYW5pQGdtYWlsLmNvbT4gd3JvdGU6Cj4gT24gMTEvMi8wNSwgU29t YXlhIEFib3Vsd2FmYSB3cm90ZToKPiA+IEhpIFNhbWVlciwKPiA+Cj4gPiBUaGlzIGlzIHdlaXJk LCBhcyBtb3N0IG9mIHRoZSB0ZXN0IGNhc2VzIGNsYXNzZXMgdXNlCj4gPiB0aGlzIHdheSB0byBj cmVhdGUgS2V5UGFpcnMuCj4KPiBBaGhoIC0tIEkgYmV0IHRoZSBwcm9ibGVtIGlzIHRoYXQgeW91 IGhhdmUgbm90IGluc3RhbGxlZCB0aGUgSnNkc2kKPiBQcm92aWRlci4gVHJ5IGNhbGxpbmcganNk c2kuUHJvdmlkZXIuaW5zdGFsbCgpIGluIHlvdXIgbWFpbi4KPgo+ID4KPiA+IFdoYXQgaXMgdGhl IGRpZmZlcmVuY2UgYmV0d2VlbiB0aG9zZSAyIGtleVBhaXIgT2JqZWN0cwo+ID4gc2lnbmVyMSBh bmQgc2lnbmVyMjoKPiA+IEtleVBhaXIgc2lnbmVyMT1qc2RzaS5SU0FQdWJsaWNLZXkuY3JlYXRl KCk7Cj4gPiBLZXlQYWlyIHNpZ25lcjIgPSBLZXlQYWlyRmFjdG9yeS5jcmVhdGUoS2V5RW51bS5S U0EpOwo+ID4KPiA+IEkgaGF2ZSB0d28gb3RoZXIgcXVlc3Rpb25zOgo+ID4gMS0gSXMgdGhlcmUg YW55IG90aGVyIHdheXMgdG8gY3JlYXRlIEtleVBhaXIgT2JqZWN0cz8/Cj4gPiAyLSBIb3cgY291 bGQgSSB0ZXN0IHdoZXRoZXIgdHdvIGtleXMgYXJlIGlkZW50aWNhbCBvcgo+ID4gbm90PyBTaGFs bCBJIHVzZSB0aGUgZXF1YWwgbWV0aG9kIG9yIGl0IGlzIG5vdAo+ID4gb3ZlcnJpZGRlbiB0byB0 ZXN0IG9uIHRoZSB2YWx1ZSByYXRoZXIgdGhhbiB0aGUKPiA+IHJlZmVyZW5jZT8gLi4gU2FtZSBx dWVzdGlvbiBmb3Igc2lnbmF0dXJlcz8KPgo+IEknbSByZWFsbHkgbm90IHN1cmUgLS0gSSBkaWQg bm90IHdyaXRlIHRoZXNlIGNsYXNzZXMgYW5kIGFtIG5vdAo+IGZhbWlsaWFyIHdpdGggdGhlbS4g U2VhbiBjb3VsZCBhbnN3ZXIgdGhlc2UsIGJ1dCB0aWxsIHRoZW4sIHJlYWRpbmcKPiB0aGUgY29k ZSBpcyB0aGUgYmVzdCBwbGFuIDopCj4KPiBUaGF0IHNhaWQsIFNpZ25hdHVyZSBkb2VzIGluZGVl ZCBvdmVycmlkZSBlcXVhbHMoKSB0byBjb21wYXJlLWJ5LXZhbHVlLgo+Cj4gTm90ZSBzdXJlIGFi b3V0IEtleVBhaXI7IHBlcmhhcHMganVzdCByZWFkIHRoZSBjb2RlIGZvciBlcXVhbHMoKS4KPiBT Cj4KPiA+Cj4gPiBUaGFua3MsCj4gPiBTb21heWEKPiA+Cj4gPgo+ID4gLS0tIFNhbWVlciBBam1h bmkgd3JvdGU6Cj4gPgo+ID4gPiBTZWFuLCBjYW4geW91IGFuc3dlciB0aGlzPyBMb29rcyBsaWtl IHlvdSB3cm90ZQo+ID4gPiB0aGlzIGNvZGUuCj4gPiA+Cj4gPiA+IFRoaXMgbGlrZSBpcyBzb21l d2hhdCBzdXNwZWN0Ogo+ID4gPiAxNTMga3BnID0KPiA+ID4gS2V5UGFpckdlbmVyYXRvci5nZXRJ bnN0YW5jZSgiU1BLSS8iICsKPiA+ID4ga2V5RW51bS5qZGtOYW1lKCkpCj4gPiA+Cj4gPiA+IFRo ZXJlJ3Mgbm8gS2V5UGFpckdlbmVyYXRvciByZWdpc3RlcmVkIGFzCj4gPiA+ICJTUEtJL1JTQSIu IElmIHlvdSByZW1vdmUKPiA+ID4gdGhlICJTUEtJLyIsIHRoaXMgc2hvdWxkIHdvcmsgKEkgdGhp bmsgdGhlIEphdmEgUlNBCj4gPiA+IGxpYnJhcnkgaXMgc2ltcGx5Cj4gPiA+ICJSU0EiKSwgYnV0 IHRoaXMgaXMganVzdCBhIGhhY2sgZm9yIG5vdy4gSG9wZWZ1bGx5Cj4gPiA+IFNlYW4gaGFzIGFu IGlkZWEKPiA+ID4gb2YgaG93IHRoaXMgd2FzIHN1cHBvc2VkIHRvIHdvcmsgOikKPiA+ID4KPiA+ ID4gUwo+ID4gPgo+ID4gPiBPbiAxMS8xLzA1LCBTb21heWEgQWJvdWx3YWZhCj4gPiA+IHdyb3Rl Ogo+ID4gPiA+IEhpLAo+ID4gPiA+IEkgYW0gdHJ5aW5nIHRvIGNyZWF0ZSBhIG5ldyBrZXlwYWly IGFzIGZvbGxvd3M6Cj4gPiA+ID4KPiA+ID4gPiBLZXlQYWlyIHNpZ25lciA9Cj4gPiA+IEtleVBh aXJGYWN0b3J5LmNyZWF0ZShLZXlFbnVtLlJTQSk7Cj4gPiA+ID4KPiA+ID4gPiBidXQgSSBnb3Qg dGhlIGZvbGxvd2luZyBSdW50aW1lIEV4Y2VwdGlvbjoKPiA+ID4gPgo+ID4gPiA+IGpzZHNpLkpz ZHNpUnVudGltZUV4Y2VwdGlvbjoKPiA+ID4gPiBqYXZhLnNlY3VyaXR5Lk5vU3VjaEFsZ29yaXRo bUV4Y2VwdGlvbjogU1BLSS9SU0EKPiA+ID4gPiBLZXlQYWlyR2VuZXJhdG9yIG5vdCBhdmFpbGFi bGUKPiA+ID4gPiBhdAo+ID4gPiA+Cj4gPiA+Cj4gPgo+IGpzZHNpLnV0aWwuS2V5UGFpckZhY3Rv cnkuY3JlYXRlS2V5UGFpckdlbmVyYXRvcihLZXlQYWlyRmFjdG9yeS5qYXZhOjE1NSkKPiA+ID4g PiBhdAo+ID4gPiA+Cj4gPiA+Cj4gPgo+IGpzZHNpLnV0aWwuS2V5UGFpckZhY3RvcnkuZ2V0S2V5 UGFpckdlbmVyYXRvcihLZXlQYWlyRmFjdG9yeS5qYXZhOjEyMCkKPiA+ID4gPiBhdAo+ID4gPiA+ Cj4gPiA+Cj4gPiBqc2RzaS51dGlsLktleVBhaXJGYWN0b3J5LmNyZWF0ZShLZXlQYWlyRmFjdG9y eS5qYXZhOjEwMikKPiA+ID4gPiBhdAo+ID4gPiA+Cj4gPiA+Cj4gPiBqc2RzaS51dGlsLktleVBh aXJGYWN0b3J5LmNyZWF0ZShLZXlQYWlyRmFjdG9yeS5qYXZhOjU5KQo+ID4gPiA+Cj4gPiA+ID4g U28gYW55IGlkZWEgYWJvdXQgd2h5IGlzIHRoaXMgaGFwcGVuaW5nIGFuZCBob3cgdG8KPiA+ID4g PiBvdmVyY29tZSB0aGlzPwo+ID4gPiA+Cj4gPiA+ID4gVGhhbmtzLAo+ID4gPiA+IFNvbWF5YQo+ ID4gPiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiA+ID4gPiBTdGFydCB5b3VyIGRheSB3aXRoIFlhaG9vISAtIE1ha2UgaXQgeW91 ciBob21lCj4gPiA+IHBhZ2UhCj4gPiA+ID4gaHR0cDovL3d3dy55YWhvby5jb20vci9ocwo+ID4g PiA+Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPgo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+IFRoaXMgU0YuTmV0IGVtYWlsIGlz IHNwb25zb3JlZCBieSB0aGUgSkJvc3MgSW5jLgo+ID4gPiA+IEdldCBDZXJ0aWZpZWQgVG9kYXkg KiBSZWdpc3RlciBmb3IgYSBKQm9zcwo+ID4gPiBUcmFpbmluZyBDb3Vyc2UKPiA+ID4gPiBGcmVl IENlcnRpZmljYXRpb24gRXhhbSBmb3IgQWxsIFRyYWluaW5nIEF0dGVuZGVlcwo+ID4gPiBUaHJv dWdoIEVuZCBvZiAyMDA1Cj4gPiA+ID4gVmlzaXQgaHR0cDovL3d3dy5qYm9zcy5jb20vc2Vydmlj ZXMvY2VydGlmaWNhdGlvbgo+ID4gPiBmb3IgbW9yZSBpbmZvcm1hdGlvbgo+ID4gPiA+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gSnNkc2kt dXNlcnMgbWFpbGluZyBsaXN0Cj4gPiA+ID4gSnNkc2ktdXNlcnNAbGlzdHMuc291cmNlZm9yZ2Uu bmV0Cj4gPiA+ID4KPiA+ID4KPiA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2pzZHNpLXVzZXJzCj4gPiA+ID4KPiA+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAt LQo+ID4gPiBTYW1lZXIKPiA+ID4gaHR0cDovL2FqbWFuaS5uZXQKPiA+ID4KPiA+Cj4gPgo+ID4K PiA+Cj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBZYWhvbyEgRmFy ZUNoYXNlOiBTZWFyY2ggbXVsdGlwbGUgdHJhdmVsIHNpdGVzIGluIG9uZSBjbGljay4KPiA+IGh0 dHA6Ly9mYXJlY2hhc2UueWFob28uY29tCj4gPgo+Cj4KPiAtLQo+IFNhbWVlcgo+IGh0dHA6Ly9h am1hbmkubmV0Cj4KPgo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5Ogo+IFRhbWUgeW91 ciBkZXZlbG9wbWVudCBjaGFsbGVuZ2VzIHdpdGggQXBhY2hlJ3MgR2Vyb25pbW8gQXBwIFNlcnZl ci4gRG93bmxvYWQKPiBpdCBmb3IgZnJlZSAtIC1hbmQgYmUgZW50ZXJlZCB0byB3aW4gYSA0MiIg cGxhc21hIHR2IG9yIHlvdXIgdmVyeSBvd24KPiBTb255KHRtKVBTUC4gQ2xpY2sgaGVyZSB0byBw bGF5Ogo+IGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvZ2Vyb25pbW8ucGhwCj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBKc2RzaS11c2VycyBtYWlsaW5n IGxpc3QKPiBKc2RzaS11c2Vyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiBodHRwczovL2xpc3Rz LnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9qc2RzaS11c2Vycwo+Cj4KPgo+Cj4gICLZ hu+/vdmB77+92YTvv73YqO+/vdmB77+92Ybvv73ZhO+/ve+/ve+/ve+/vdmD77+9INio77+92LTv v73Zje+/vdih2ZIg2YPvv73vv73ZhO+/vSDYp9mB77+92K7vv73Zhu+/ve+/vSDZhu+/vdin2YHv v73YrO+/vdmG2Lrvv70g2Ybvv73ZhO+/ve+/ve+/vdi12ZIg2YPvv73vv73ZhO+/vQo+INin2YHY o++/vdmD77+92Ybvv73Yp9mB77+9INmG77+92KfZgdij2YTvv73vv73Ys++/vSDZhu+/vdin2YHY q++/ve+/vdmD77+92LHvv73Yp9iq77+9INmG77+92Kjvv73YtO+/ve+/vdix77+9INin2YHYte+/ ve+/vdin2Kjvv73Yse+/vdmN2YQg2KfZge+/ve+/vdiw77+92Y3ZhO+/vSDYpe+/vdiw77+92KcK PiDYo++/vdi177+92KfYqO+/vdiq77+92YXvv73ZgyDZg++/ve+/vdi177+92Y3YqO+/vdip2ZEg 77+977+92KfZge+/vdmG2Kfvv70g2KXvv73ZhO+/ve+/vdinINmB77+92YHvv73Zhe+/vSDZhu+/ vdil77+92YTvv73vv73vv73YpyDYpe+/vdmB77+92Y3vv73Zhe+/vSDYse+/vdin2Kzvv73YutmG 2YTvv70KPiDYo++/vdmG2YHvv73vv73Ypu+/ve+/ve+/vSDYuu+/vdmB77+92Y3vv73Zhe+/vdmD 77+9INi177+92YHvv73Zhu+/vdin2KrZkSDZg++/ve+/vdmEINix77+977+92Kjvv73vv73Zhe+/ vdmD77+9INmG77+92LHvv73Yre+/vdmD77+92KnZkSDZhu+/vdij77+92YbZge+/ve+/vdim77+9 77+977+9INmF77+92YPvv70KPiDYp9mB77+92YPvv73Zhe+/vdiq77+92K/vv73ZhtmEIiDYp9mB 2Kjvv73YsdipIDE1NS0gMTU3Cj4KPiAgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K PiAgWWFob28hIEZhcmVDaGFzZSAtIFNlYXJjaCBtdWx0aXBsZSB0cmF2ZWwgc2l0ZXMgaW4gb25l IGNsaWNrLgo+Cj4KCgotLQpTYW1lZXIKaHR0cDovL2FqbWFuaS5uZXQK |