Commit Graph

50 Commits

Author SHA1 Message Date
valentin ritzi
3070c74376 [PlatformCrypto] Adding encryption context API documentation
Adding encryption cotnext API documentation.

#rb stuart.hill

[CL 26311344 by valentin ritzi in ue5-main branch]
2023-06-29 10:02:04 -04:00
valentin ritzi
117566aaa3 [PlatformCrypto] Factoring out OpenSSL context utility functions
#rb stuart.hill

[CL 26294203 by valentin ritzi in ue5-main branch]
2023-06-28 14:51:42 -04:00
valentin ritzi
eb78b67797 [PlatformCrypto] Fixing GetPublicKey_RSA() specializations and issues
Since GetPublicKey_RSA() is using a PEM_read function within OpenSSL, binary string representation specializations are not necessary. Additionally, key handling on the switch platform with GetPublicKey_RSA() was previously broken and now conforms to the key handling that is used in the rest of the platform specific plugin.

#rb stuart.hill, manuel.lang

[CL 26279553 by valentin ritzi in ue5-main branch]
2023-06-28 03:48:31 -04:00
valentin ritzi
06a769e92f [PlatformCrypto] Adding FStringView specialized GetPublicKey_RSA()
Adding a specialized method of GetPublicKey_RSA() to convert FStringView source RSA public keys into the OpenSSL representation.

#rb stuart.hill

[CL 26233675 by valentin ritzi in ue5-main branch]
2023-06-26 10:35:23 -04:00
valentin ritzi
cc2cba079d [PlatformCrypto] Reverting PlatformCrypto SupportedTargetPlatforms change
[CL 26191448 by valentin ritzi in ue5-main branch]
2023-06-22 15:42:24 -04:00
valentin ritzi
ac3a4b0891 [PlatformCrypto] Adding SupportedTargetPlatforms to PlatformCrypto
Adding SupportedTargetPlatforms to PlatformCrypto in order to hopefully get rid of the TVOS build errors.

[CL 26190692 by valentin ritzi in ue5-main branch]
2023-06-22 15:20:37 -04:00
valentin ritzi
01253d6ead [PlatformCrypto] Adding OpenSSL error reporting to DigestVerify_RS256
Adding OpenSSL error reporting to the DigestVerify_RS256 method.

#rb stuart.hill

[CL 26152011 by valentin ritzi in ue5-main branch]
2023-06-21 11:58:24 -04:00
valentin ritzi
fb0ef9ef2c [PlatformCrypto] Adding utility method to calculate SHA256 hash
Adding a utility method to calculate SHA256 hashes. One of the applications will be to verify JWTs down the line.

#rb stuart.hill

[CL 26150823 by valentin ritzi in ue5-main branch]
2023-06-21 11:27:48 -04:00
valentin ritzi
ddb15d88da [PlatformCrypto] Adding GetPublicKey_RSA method to convert bytes to RSA key
Adding the GetPublicKey_RSA method to convert raw bytes (i.e. coming from a string) to an RSA key in OpenSSL representation.

#jira UCS-7556
#rb stuart.hill

[CL 26089844 by valentin ritzi in ue5-main branch]
2023-06-19 10:18:12 -04:00
martins mozeiko
7039fbbc55 Improve performance of AES GCM encryption & decryption in packet handler.
This is done by adding ability to reset PlatformCryptoEncrypto/Decryptor cipher with new IV values.

The performance improvements are from:
1) Doing initialization of encryption/decryption cipher only once, when key is set, not per each encryption/decryption operation.
2) Not calling platform random number generator for IV in each encryption of outgoing packet.
3) Some minor changes to avoid heap allocations for buffers with known size - changing TArray to TStaticArray.

Random bytes for IV in encryption are now generated only once, when key is set. Afterwards uniqueness of IV is done by incrementing IV bytes as 64-bit unsigned integer with wrap-around.

#rb fabian.giesen
#rb Peter.Engstrom
#rb Ryan.Gerleve

[CL 25967328 by martins mozeiko in ue5-main branch]
2023-06-13 19:24:17 -04:00
Camillo Lukesch
6a0ad6846a Removing occurances of warning C4244; FW-Net truncation fixes.
OnlineSubsystem
OnlineSubsystemUtils
PlatformCryptoOpenSSL

#jira UE-173970
#review-25543325 @Sam.Zamani @Bertrand.Carre @Michael.Kirzinger
#preflight 6475b76f947ff6973cdf9703

[CL 25673720 by Camillo Lukesch in ue5-main branch]
2023-05-30 04:58:18 -04:00
lukasz furman
574becb64b exposed IoStore extract loop for in memory processing and added optional task throttle
added build scripts for content validations

[CL 25473614 by lukasz furman in ue5-main branch]
2023-05-15 10:30:13 -04:00
henrik karlsson
9183978e29 [Engine/Plugins]
* Removed includes (using IWYU) in private files

#preflight 63c79978ac35a0e9dabbe408
#rb none

[CL 23770038 by henrik karlsson in ue5-main branch]
2023-01-19 00:48:07 -05:00
henrik karlsson
bbc37aa2f5 [Engine/Plugins]
* Another batch iwyu updates to reduce number of includes used in files

#preflight 63c58d742e714f64ade93797
#rb none

[CL 23732856 by henrik karlsson in ue5-main branch]
2023-01-16 17:04:48 -05:00
henrik karlsson
c2cd7dd8a6 [PlatformCrypto]
* Changed include from Stats2.h back to Stats.h

#preflight skipped
#rb none

[CL 23675066 by henrik karlsson in ue5-main branch]
2023-01-13 03:07:58 -05:00
henrik karlsson
3c9aacb1ad [Engine/Plugins]
* Updated public headers for ~170 engine plugins using iwyu to remove includes not needed. Removed includes are still available behind UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63c08f4a2a6acaf1622bcc73
#rb none

[CL 23674775 by henrik karlsson in ue5-main branch]
2023-01-13 01:54:01 -05:00
henrik karlsson
68e1306935 [Engine/Plugins]
* Removed more includes using iwyu and marked up includes that is removed because of bugs in iwyu.

#preflight 63bfc8696c4f5668eb3a3cbd
#rb none

[CL 23666746 by henrik karlsson in ue5-main branch]
2023-01-12 13:53:03 -05:00
henrik karlsson
2f78497e67 [Engine/Plugins]
* Updated private files with IWYU for all plugins which had 3 or less changes made in ue5 main since last integration to fn

#preflight 63bf8d8b577437afe607dc72
#rb none

[CL 23659643 by henrik karlsson in ue5-main branch]
2023-01-12 01:48:34 -05:00
henrik karlsson
5f0f9bc88b Fixed IWYU markups
#preflight 639b90fc0a671525508f752f
#rb none

[CL 23546933 by henrik karlsson in ue5-main branch]
2022-12-19 03:04:40 -05:00
Robb Surridge
610c467639 Update vendor links for built-in plugins to use secure protocol.
#jira UE-166823
#rb lauren.barnes
#preflight 6352b20b7261e565c476ec3b

[CL 22690089 by Robb Surridge in ue5-main branch]
2022-10-21 11:04:07 -04:00
kate ellis
4a50fc755b [Backout] - CL21481602
[FYI] Steven.Bedford
Original CL Desc
-----------------------------------------------------------------
Hooked up JWT verification process (RS256 and PS256 algorithms), without encryption key caching.  Ported Base64url conversion from EOS SDK.

[REVIEW] [at]rob.cannaday [at]sam.zamani [at]michael.atchison [at]bertrand.carre [at]rafa.lecina

[CL 21511784 by kate ellis in ue5-main branch]
2022-08-23 12:59:28 -04:00
steven bedford
df27b4f6f8 Hooked up JWT verification process (RS256 and PS256 algorithms), without encryption key caching. Ported Base64url conversion from EOS SDK.
[REVIEW] [at]rob.cannaday [at]sam.zamani [at]michael.atchison [at]bertrand.carre [at]rafa.lecina

[CL 21500345 by steven bedford in ue5-main branch]
2022-08-22 21:37:39 -04:00
jeff newquist
56a413a50c Remove console NDA references from PlatformCrypto
#jira none
#rb eric.mcdaniel
#preflight 628803be18407ba374abcb76

[CL 20304891 by jeff newquist in ue5-main branch]
2022-05-20 18:49:21 -04:00
steven bedford
2f5053054c Fix for static analysis warning (call to Shutdown() virtual function in FPlatformCryptoModularFeature destructor).
[REVIEW] [at]sam.zamani [at]michael.atchison [at]bertrand.carre

#ROBOMERGE-AUTHOR: steven.bedford
#ROBOMERGE-SOURCE: CL 20266783 via CL 20266835 via CL 20266858 via CL 20266901 via CL 20266925
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20269477 by steven bedford in ue5-main branch]
2022-05-18 18:04:09 -04:00
David Harvey
5a86c3706d modular build fix for FAESBlockEncryptionHelper.
#jira none
#rnx
#rb trivial
#preflight 6278e691eb7a0783c4b2f9c4

[CL 20100973 by David Harvey in ue5-main branch]
2022-05-09 06:55:35 -04:00