Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
4661e874
Commit
4661e874
authored
Oct 11, 2010
by
kh1
Browse files
Fix missing member initialization.
Task-number: QTCREATORBUG-2694 Reviewed-by: ck
parent
82f80d54
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/plugins/coreplugin/ssh/sshkeygenerator.cpp
View file @
4661e874
...
...
@@ -49,21 +49,28 @@ namespace Core {
using
namespace
Botan
;
using
namespace
Internal
;
SshKeyGenerator
::
SshKeyGenerator
()
{
}
SshKeyGenerator
::
SshKeyGenerator
()
:
m_type
(
Rsa
)
,
m_format
(
OpenSsl
)
{
}
bool
SshKeyGenerator
::
generateKeys
(
KeyType
type
,
PrivateKeyFormat
format
,
int
keySize
)
{
m_type
=
type
;
m_format
=
format
;
try
{
AutoSeeded_RNG
rng
;
KeyPtr
key
;
if
(
type
==
Rsa
)
if
(
m_
type
==
Rsa
)
key
=
KeyPtr
(
new
RSA_PrivateKey
(
rng
,
keySize
));
else
key
=
KeyPtr
(
new
DSA_PrivateKey
(
rng
,
DL_Group
(
rng
,
DL_Group
::
Strong
,
keySize
)));
return
format
==
Pkcs8
?
generatePkcs8Keys
(
key
)
:
generateOpenSslKeys
(
key
,
type
);
return
m_
format
==
Pkcs8
?
generatePkcs8Keys
(
key
)
:
generateOpenSslKeys
(
key
);
}
catch
(
Botan
::
Exception
&
e
)
{
m_error
=
tr
(
"Error generating key: %1"
).
arg
(
e
.
what
());
return
false
;
...
...
@@ -95,12 +102,12 @@ void SshKeyGenerator::generatePkcs8Key(const KeyPtr &key, bool privateKey)
pipe
.
message_count
()
-
1
);
}
bool
SshKeyGenerator
::
generateOpenSslKeys
(
const
KeyPtr
&
key
,
KeyType
type
)
bool
SshKeyGenerator
::
generateOpenSslKeys
(
const
KeyPtr
&
key
)
{
QList
<
BigInt
>
publicParams
;
QList
<
BigInt
>
allParams
;
QByteArray
keyId
;
if
(
type
==
Rsa
)
{
if
(
m_
type
==
Rsa
)
{
const
QSharedPointer
<
RSA_PrivateKey
>
rsaKey
=
key
.
dynamicCast
<
RSA_PrivateKey
>
();
publicParams
<<
rsaKey
->
get_e
()
<<
rsaKey
->
get_n
();
...
...
@@ -130,7 +137,7 @@ bool SshKeyGenerator::generateOpenSslKeys(const KeyPtr &key, KeyType type)
encoder
.
encode
(
b
);
encoder
.
end_cons
();
const
char
*
const
label
=
type
==
Rsa
?
"RSA PRIVATE KEY"
:
"DSA PRIVATE KEY"
;
=
m_
type
==
Rsa
?
"RSA PRIVATE KEY"
:
"DSA PRIVATE KEY"
;
m_privateKey
=
QByteArray
(
PEM_Code
::
encode
(
encoder
.
get_contents
(),
label
).
c_str
());
return
true
;
...
...
src/plugins/coreplugin/ssh/sshkeygenerator.h
View file @
4661e874
...
...
@@ -61,7 +61,7 @@ private:
bool
generatePkcs8Keys
(
const
KeyPtr
&
key
);
void
generatePkcs8Key
(
const
KeyPtr
&
key
,
bool
privateKey
);
bool
generateOpenSslKeys
(
const
KeyPtr
&
key
,
KeyType
type
);
bool
generateOpenSslKeys
(
const
KeyPtr
&
key
);
QString
m_error
;
QByteArray
m_publicKey
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment