[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15039748#comment-15039748
 ] 

ASF GitHub Bot commented on CLOUDSTACK-9099:
--------------------------------------------

Github user jburwell commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1152#discussion_r46649429
  
    --- Diff: 
api/src/org/apache/cloudstack/api/command/admin/user/ListKeysCmd.java ---
    @@ -0,0 +1,72 @@
    +// Licensed to the Apache Software Foundation (ASF) under one
    +// or more contributor license agreements.  See the NOTICE file
    +// distributed with this work for additional information
    +// regarding copyright ownership.  The ASF licenses this file
    +// to you under the Apache License, Version 2.0 (the
    +// "License"); you may not use this file except in compliance
    +// with the License.  You may obtain a copy of the License at
    +//
    +//   http://www.apache.org/licenses/LICENSE-2.0
    +//
    +// Unless required by applicable law or agreed to in writing,
    +// software distributed under the License is distributed on an
    +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    +// KIND, either express or implied.  See the License for the
    +// specific language governing permissions and limitations
    +// under the License.
    +
    +package org.apache.cloudstack.api.command.admin.user;
    +
    +
    +import com.cloud.user.Account;
    +import com.cloud.user.User;
    +import org.apache.cloudstack.api.APICommand;
    +import org.apache.cloudstack.api.ApiConstants;
    +import org.apache.cloudstack.api.BaseCmd;
    +import org.apache.cloudstack.api.Parameter;
    +import org.apache.cloudstack.api.response.RegisterResponse;
    +import org.apache.cloudstack.api.response.UserResponse;
    +
    +import java.util.logging.Logger;
    +
    +@APICommand(name = "listUserKeys",
    +            description = "This command allows the user to query the 
seceret and API keys for the account",
    +            responseObject = RegisterResponse.class,
    +            requestHasSensitiveInfo = false,
    +            responseHasSensitiveInfo = true)
    +
    +public class ListKeysCmd extends BaseCmd{
    +
    +    @Parameter(name= ApiConstants.ID, type = CommandType.UUID, entityType 
= UserResponse.class, required = true, description = "ID of the user whose keys 
are required")
    +    private Long id;
    +
    +    public static final Logger s_logger = 
Logger.getLogger(RegisterCmd.class.getName());
    +    public static final String s_name = "listuserkeysresponse";
    +
    +    public Long getID(){
    +        return id;
    +    }
    +
    +    public String getCommandName(){
    +        return s_name;
    +    }
    +
    +    public long getEntityOwnerId(){
    +        User user = _entityMgr.findById(User.class, getID());
    +        if(user != null){
    +            return user.getAccountId();
    +        }
    +        else return Account.ACCOUNT_ID_SYSTEM;
    +    }
    +    public void execute(){
    +        String[] keys = _accountService.getKeys(this);
    +        RegisterResponse response = new RegisterResponse();
    +        if(keys != null){
    --- End diff --
    
    Add an check before setting the keys to check that ``keys`` has a length = 
2 to avoid an ``ArrayIndexOutOfBoundsException``.  If the length is not equal 
to 2, throw an ``IllegalStateException``.


> SecretKey is returned from the APIs
> -----------------------------------
>
>                 Key: CLOUDSTACK-9099
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9099
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>            Reporter: Kshitij Kansal
>            Assignee: Kshitij Kansal
>
> The sercreKey parameter is returned from the following APIs:
> createAccount
> createUser
> disableAccount
> disableUser
> enableAccount
> enableUser
> listAccounts
> listUsers
> lockAccount
> lockUser
> registerUserKeys
> updateAccount
> updateUser



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to