@@ -44,6 +44,7 @@ const (
4444 VerifyCredentialRequestErrorCode
4545 AcceptEnrolmentRequestErrorCode
4646 TestingCallRequestErrorCode
47+ GetTrustedIssuerListrRequestErrorCode
4748)
4849
4950// constants for the VDR controller's methods.
@@ -56,8 +57,9 @@ const (
5657 DoDeviceEnrolmentCommandMethod = "DoDeviceEnrolment"
5758 GenerateVPCommandMethod = "GenerateVP"
5859 AcceptEnrolmentCommandMethod = "AcceptEnrolment"
59- VerifyCredentialCommandMethod = "ValidateVP" // TODO UMU: remove TESTING
60+ VerifyCredentialCommandMethod = "ValidateVP"
6061 TestingCallMethod = "TestingCall"
62+ GetTrustedIssuerListMethod = "GetTrustedIssuerList"
6163 // error messages.
6264 errEmptyNewDID = "keys is mandatory"
6365 errEmptyUrl = "url is mandatory"
@@ -149,6 +151,8 @@ func (o *Command) GetHandlers() []command.Handler {
149151 cmdutil .NewCommandHandler (CommandName , GenerateVPCommandMethod , o .GenerateVP ),
150152 cmdutil .NewCommandHandler (CommandName , AcceptEnrolmentCommandMethod , o .AcceptEnrolment ),
151153 cmdutil .NewCommandHandler (CommandName , TestingCallMethod , o .TestingCall ),
154+ cmdutil .NewCommandHandler (CommandName , VerifyCredentialCommandMethod , o .VerifyCredential ),
155+ cmdutil .NewCommandHandler (CommandName , GetTrustedIssuerListMethod , o .GetTrustedIssuerList ),
152156 }
153157}
154158
@@ -353,65 +357,7 @@ func (o *Command) NewDID(rw io.Writer, req io.Reader) command.Error {
353357
354358
355359
356-
357- func (o * Command ) getSignedProof ()(string ) {
358- randomString , err := generateRandomString (15 )
359- if err != nil {
360- fmt .Println ("Error generating random string:" , err )
361- return ""
362- }
363-
364- //Get DID/DIDDoc for specifying key, issuer...
365- // reader, err := getReader(&vdrc.IDArg{
366- // ID: o.currentDID,
367- // })
368- // var getResponse bytes.Buffer
369- // err = o.vdrcommand.GetDID(&getResponse, reader)
370- // if err != nil {
371- // logutil.LogInfo(logger, CommandName, AcceptEnrolmentCommandMethod, "failed to get DID: "+err.Error())
372- // }
373- // var parsedDoc vdrc.Document
374- // err = json.NewDecoder(&getResponse).Decode(&parsedDoc)
375- // if err != nil {
376- // logutil.LogInfo(logger, CommandName, AcceptEnrolmentCommandMethod, "failed to decode DID Document: "+err.Error())
377- // }
378- // didDoc, err := did.ParseDocument(parsedDoc.DID)
379- // if err != nil {
380- // logutil.LogInfo(logger, CommandName, AcceptEnrolmentCommandMethod, "failed to parse DID Document: "+err.Error())
381- // }
382- // fmt.Println("DID:", didDoc.ID)
383-
384-
385- message := []byte (randomString )
386-
387- cryptoService := o .ctx .Crypto ()
388- // Sign a random string
389- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "keypairKEYID " + o .currentKeyPair .KeyID )
390- signature , err := cryptoService .Sign (message , o .currentKeyPair .KeyID )
391- if err != nil {
392- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "failed to sign message: " + err .Error ())
393- }
394-
395- fmt .Println ("Signature:" , signature )
396-
397- // Verify the signature
398- valid := cryptoService .Verify (signature ,message , o .currentKeyPair .PublicKey )
399- if valid == nil {
400- fmt .Println ("Signature verification successful!" )
401- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "Signature verification successful!" )
402- } else {
403- fmt .Println ("Signature verification failed." )
404- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "Signature verification failed." )
405- }
406- return randomString
407- }
408-
409- func (o * Command ) signJWT (token string )(string ) {
410- randomString , err := generateRandomString (15 )
411- if err != nil {
412- fmt .Println ("Error generating random string:" , err )
413- return ""
414- }
360+ func (o * Command ) signJWT (token string ) {
415361
416362 request := vcwalletc.SignJWTRequest {
417363 WalletAuth : vcwalletc.WalletAuth {UserID : o .walletuid , Auth : token },
@@ -425,23 +371,23 @@ func (o * Command) signJWT(token string)(string) {
425371
426372 reqData , err := json .Marshal (request )
427373 if err != nil {
428- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "failed to marshal request: " + err .Error ())
374+ logutil .LogInfo (logger , CommandName , "SignJWT" , "failed to marshal request: " + err .Error ())
429375 }
430376 req := bytes .NewReader (reqData )
431377 // Capture the output
432378 var signBuf bytes.Buffer
433379
434380 // Sign the JWT
435381 if err := o .vcwalletcommand .SignJWT (& signBuf , req ); err != nil {
436- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "failed to sign JWT: " + err .Error ())
382+ logutil .LogInfo (logger , CommandName , "SignJWT" , "failed to sign JWT: " + err .Error ())
437383 }
438384
439385
440386 var jwtResponse vcwalletc.SignJWTResponse
441387
442388 err = json .Unmarshal (signBuf .Bytes (), & jwtResponse )
443389 if err != nil {
444- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "failed to unmarshal JWT: " + err .Error ())
390+ logutil .LogInfo (logger , CommandName , "SignJWT" , "failed to unmarshal JWT: " + err .Error ())
445391 }
446392
447393
@@ -463,11 +409,9 @@ func (o * Command) signJWT(token string)(string) {
463409
464410 err = o .vcwalletcommand .VerifyJWT (& verifyBuf , verifyReqReader )
465411 if err != nil {
466- logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "failed to verify JWT: " + err .Error ())
412+ logutil .LogInfo (logger , CommandName , "SignJWT" , "failed to verify JWT: " + err .Error ())
467413 }
468414 fmt .Println ("Verification result:" , verifyBuf .String ())
469-
470- return randomString
471415}
472416
473417// DoDeviceEnrolment Device completes an enrolment process against an issuer
@@ -928,3 +872,22 @@ func (o *Command) AcceptEnrolment(rw io.Writer, req io.Reader) command.Error {
928872 logutil .LogInfo (logger , CommandName , AcceptEnrolmentCommandMethod , "success" )
929873 return nil
930874}
875+
876+ // GetTrustedIssuerList returns the list of trusted issuers, mocked for nowq
877+ func (o * Command ) GetTrustedIssuerList (rw io.Writer , req io.Reader ) command.Error {
878+ //TODO UMU: Implement
879+ trustedIssuer := TrustedIssuer {
880+ DID : "did:fabric:zxdkpwDnu7ixBidF_I8sgMI6Q4St0t90HY-_JmlHZFI" ,
881+ IssuerUrl : "https://issuer:9082" ,
882+ }
883+ var trustedIssuerList []TrustedIssuer
884+ trustedIssuerList = append (trustedIssuerList , trustedIssuer )
885+
886+ var trustedIssuerListResponse = GetTrustedIssuerListResult {
887+ TrustedIssuers : trustedIssuerList ,
888+
889+ }
890+
891+ command .WriteNillableResponse (rw , & trustedIssuerListResponse , logger )
892+ return nil
893+ }
0 commit comments